每个 Docker 容器都会配置 10 GB 的磁盘空间,这是 CentOS 中 devicemapper 的默认配置。那么如何将每个新创建的容器配置为默认超过 10 GB 的磁盘空间呢?(主机服务器安装了 CentOS 6 和 Docker 1.7.1)
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"
重启 docker 守护进程
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/ 原来你必须在扩大基本尺寸后删除/拉动图像。
上面的答案正确地表明我们必须编辑devicemapper 的dm.basesize属性,但建议的解决方案已经过时或者在我的情况下根本不起作用。
首先确保您的存储驱动程序是一个设备映射器,具有:
docker info | grep "Storage Driver"
您还可以通过以下方式检查容器的当前最大大小:(默认 10 gb)
docker info | grep "Base Device Size"
1) 编辑etc/docker/daemon.json文件中的 dm.basesize,如果不存在则新建一个
{
"storage-opts": [
"dm.basesize=30G"
]
}
2) 重启 docker 守护进程
sudo systemctl stop docker
sudo systemctl start docker
3)再次运行下面的命令以检查大小是否改变
docker info | grep "Base Device Size"
4)更新当前图像很重要,以便应用更改