Каждый контейнер Docker будет настроен на 10 ГБ дискового пространства, что является конфигурацией devicemapper по умолчанию в CentOS. Итак, как я могу настроить каждый вновь созданный контейнер с дисковым пространством более 10 ГБ по умолчанию? (Хост-сервер установлен с CentOS 6 и Docker 1.7.1)
Изменение размера использования диска контейнера Docker
Ответы (4)
Да, ты можешь. Используйте атрибут dm.basesize
при запуске демона Docker. Например:
docker daemon --storage-opt dm.basesize=50G ...
Дополнительную информацию можно найти в официальной документации а>.
(необязательно) Если вы уже загрузили какое-либо изображение через
docker pull
, вам нужно сначала очистить его, иначе размер не изменитсяdocker rmi your_image_name
Изменить конфигурацию хранилища
vi /etc/sysconfig/docker-storage
Должно быть что-то вроде
DOCKER_STORAGE_OPTIONS="..."
, измените его наDOCKER_STORAGE_OPTIONS="... --storage-opt dm.basesize=100G"
Перезапустите демон докера
service docker restart
Потяните изображение
docker pull your_image_name
(необязательно) проверка
docker run -i -t your_image_name /bin/bash
df -h
Я много боролся с этим, пока не нашел эту ссылку http://www.projectatomic.io/blog/2016/03/daemon_option_basedevicesize/ оказывается, что вам нужно удалить/вытащить изображение после увеличения базового размера.
Для тех, кто использует Mac, есть более простое решение: нажмите «Предпочтения» на значке Docker в строке состояния:
Затем перейдите на вкладку «Диск», отрегулируйте размер образа диска с помощью ползунка. Docker потребуется некоторое время для перезапуска.
Вот и все.
Приведенные выше ответы правильно предполагают, что нам нужно отредактировать атрибут dm.basesize для devicemapper, но предлагаемые решения устарели или просто не работают в моем случае.
Сначала убедитесь, что ваш накопитель является картографом устройств с:
docker info | grep "Storage Driver"
вы также можете проверить текущий максимальный размер контейнера с помощью: (по умолчанию 10 ГБ)
docker info | grep "Base Device Size"
Из документации по программе сопоставления устройств.
1) отредактируйте dm.basesize в файле etc/docker/daemon.json или создайте новый, если он не существует
{
"storage-opts": [
"dm.basesize=30G"
]
}
2) перезапустить демона докера
sudo systemctl stop docker
sudo systemctl start docker
3) снова запустите команду ниже, чтобы проверить, изменился ли размер
docker info | grep "Base Device Size"
4) Важно обновить текущие изображения, чтобы применить изменения