Мы создали изображение докеров с размером по умолчанию 10 ГБ, и мы загрузили данные cassandra, теперь они полны, значит, нет места. Может ли кто-нибудь сказать, как увеличить размер контейнера докера до 40 ГБ с 10 ГБ без потери существующих данных.Как увеличить размер контейнера для докеров?
ответ
Базовая версия контейнера Docker с использованием devicemapper была изменена с 10 до 100 ГБ. Вот ссылка на corresponding pull request in github.
затруднительного выпуск # 14678
Текущий умолчанию basesize является 10G. Измените его на 100G. Причина в том, что для некоторые люди 10G оказываются слишком маленькими, и у нас нет возможностей , чтобы вырастить его динамически.
Это просто излишний, и реальное пространство не распределяется до контейнера фактически записывает данные. И это ничем не отличается от графических драйверов fs , где виртуальный размер корня контейнера неограничен.
Подпись-офф-на: Вивек Гоял [email protected]
Используя последнюю версию докер должен решить вашу проблему.
Я не думаю, что это возможно (без потери данных). Вот как увеличить basesize:
(необязательно) Если вы уже загрузили любое изображение с помощью
docker pull
вам необходимо очистить их первый - в противном случае они не будут измененыdocker rmi your_image_name
Редактирование конфигурации хранения
vi /etc/sysconfig/docker-storage
Там должно быть что-то вроде
DOCKER_STORAGE_OPTIONS="..."
, изменить егоDOCKER_STORAGE_OPTIONS="... --storage-opt dm.basesize=100G"
Перезапустите докер Deamon
service docker restart
Вытяните изображение
docker pull your_image_name
(опционально) verific ция
docker run -i -t your_image_name /bin/bash
df -h
Я боролся с этим много, пока я не узнал эту ссылку http://www.projectatomic.io/blog/2016/03/daemon_option_basedevicesize/ оказывается, вы должны удалить/тянуть изображение после увеличения basesize.
Это решение может использоваться для изменения размера только одного контейнера? – Nevershowmyface
@Nevershowmyface - основываются на всех. –
Можете ли вы просто подтвердить, какой драйвер хранилища вы используете? Он находится под 'docker info'. –