RHEL7.3环境下增大Docker容器默认10GB至20GB失败求助
解决RHEL7.3 Docker容器默认大小调整为20GB的问题
我来帮你搞定这个问题——你之前的配置错误是因为把环境变量式的参数写到了daemon.json里,这个文件需要严格遵循JSON格式,不能直接用DOCKER_STORAGE_OPTIONS这种写法。下面是正确的操作步骤:
正确配置步骤
先停止Docker服务:
systemctl stop docker确保Docker完全停掉,避免配置加载冲突。
创建/修正
/etc/docker/daemon.json文件:
使用编辑器打开(比如vi /etc/docker/daemon.json),写入以下正确的JSON内容:{ "storage-opts": [ "dm.basesize=20G" ] }注意:
- JSON语法要严格:引号是双引号,数组用方括号,键值对格式正确,不要有多余的逗号。
dm.basesize参数只对devicemapper存储驱动生效,这是RHEL7.3上Docker的默认存储驱动,所以适用。
清理旧的镜像缓存(可选但建议):
因为dm.basesize只影响新创建的镜像和容器,之前已经拉取或构建的镜像不会自动更新大小。如果需要让所有新容器都用20GB大小,建议清理旧的镜像和容器(备份重要数据后执行):docker rm -f $(docker ps -aq) docker rmi -f $(docker images -aq) rm -rf /var/lib/docker/devicemapper启动Docker服务并验证:
systemctl start docker用以下命令验证配置是否生效:
docker info | grep "Base Size"输出应该显示
Base Size: 20.0GB。你也可以创建一个新容器,进入后执行df -h查看根目录的大小。
常见注意事项
- 如果你的Docker使用的是
overlay2存储驱动(部分新版本可能默认切换),dm.basesize参数不生效,这种情况下容器默认使用主机的文件系统空间,没有固定大小限制。可以用docker info | grep "Storage Driver"查看当前驱动。 - 修改
daemon.json后一定要重启Docker服务,否则配置不会加载。
内容的提问来源于stack exchange,提问作者Premchand
相关产品推荐
相关产品推荐

