2015-06-23 2 views
3

Мы создали изображение докеров с размером по умолчанию 10 ГБ, и мы загрузили данные cassandra, теперь они полны, значит, нет места. Может ли кто-нибудь сказать, как увеличить размер контейнера докера до 40 ГБ с 10 ГБ без потери существующих данных.Как увеличить размер контейнера для докеров?

+1

Можете ли вы просто подтвердить, какой драйвер хранилища вы используете? Он находится под 'docker info'. –

ответ

2

Базовая версия контейнера Docker с использованием devicemapper была изменена с 10 до 100 ГБ. Вот ссылка на corresponding pull request in github.

затруднительного выпуск # 14678

Текущий умолчанию basesize является 10G. Измените его на 100G. Причина в том, что для некоторые люди 10G оказываются слишком маленькими, и у нас нет возможностей , чтобы вырастить его динамически.

Это просто излишний, и реальное пространство не распределяется до контейнера фактически записывает данные. И это ничем не отличается от графических драйверов fs , где виртуальный размер корня контейнера неограничен.

Подпись-офф-на: Вивек Гоял [email protected]

Используя последнюю версию докер должен решить вашу проблему.

0

Я не думаю, что это возможно (без потери данных). Вот как увеличить basesize:

  1. (необязательно) Если вы уже загрузили любое изображение с помощью docker pull вам необходимо очистить их первый - в противном случае они не будут изменены

    docker rmi your_image_name

  2. Редактирование конфигурации хранения

    vi /etc/sysconfig/docker-storage

    Там должно быть что-то вроде DOCKER_STORAGE_OPTIONS="...", изменить его DOCKER_STORAGE_OPTIONS="... --storage-opt dm.basesize=100G"

  3. Перезапустите докер Deamon

    service docker restart

  4. Вытяните изображение

    docker pull your_image_name

  5. (опционально) verific ция

    docker run -i -t your_image_name /bin/bash

    df -h

Я боролся с этим много, пока я не узнал эту ссылку http://www.projectatomic.io/blog/2016/03/daemon_option_basedevicesize/ оказывается, вы должны удалить/тянуть изображение после увеличения basesize.

+0

Это решение может использоваться для изменения размера только одного контейнера? – Nevershowmyface

+1

@Nevershowmyface - основываются на всех. –