动态修改docker容器磁盘空间(只可增不可减)
原文地址:
https://blog.csdn.net/chengxuyuanyonghu/article/details/76560166
(1)将要修改的容器start起来,在宿主机下首先进入cd /dev/mapper/目录
(2)使用dmsetup table命令查看容器卷例如:
docker-253:0-67538662-38a3a9fc972045caaa9a033cb80b959be5d861478e2b94eb78e40dcb0585141b: 0 20971520 thin 253:2 85 其中20971520就是要修改的卷空间值
(3)计算需要扩至的卷空间值 计算公式:
例如要将容器扩至20G:20102410241024/512 可以用命令echo $((20102410241024/512))计算 20G=41943040
(4)使用命令修改容器空间大小:
Step1:echo 0 41943040 thin 253:2 85 | dmsetup load docker-253:0-67538662-38a3a9fc972045caaa9a033cb80b959be5d861478e2b94eb78e40dcb0585141b
Step2:dmsetup resume docker-253:0-67538662-38a3a9fc972045caaa9a033cb80b959be5d861478e2b94eb78e40dcb0585141b
Step3:resize2fs /dev/mapper/docker-253:0-67538662-38a3a9fc972045caaa9a033cb80b959be5d861478e2b94eb78e40dcb0585141b 注意:此时报错couldn’t find valid filesystem superblock.告知找不到有效的文件系统超级块,找不到的原因是CentOS 7中默认的文件系统是XFS,与CentOS 6不同,所以这里需要使用的命令是xfs_growfs,而不是resize2fs
将第三步命令中resize2fs换成xfs_growfs 再执行一次
Step4:进入容器输入df -h 命令 查看第一行就是磁盘空间 修改成功!