首页 > 服务器学习 > 怎么缩小当前docker容器大小

怎么缩小当前docker容器大小

时间:2023年1月16日 分类:服务器学习 浏览量:333

怎么缩小当前docker容器大小?在构建 docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快。Docker默认空间大小分为两个,一个是池空间大小,另一个是容器空间大小。

所以,修改空间大小也分为两个。这里使用centos下的yum进行安装的Docker。

首先,修改空间大小,必需使Docker运行在daemon环境下,即先停止正在运行的docker服务

service docker stop

然后使用命令使用daemon环境下运行docker

docker -d

1.修改池空间大小方法:

dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=1000
dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/metadata bs=1G count=0 seek=10

上面的1000为1TB大小,即为数据池空间大小为1TB,而10则为Metadata的空间大小,10GB

运行完后,使用命令查看docker池空间大小:

docker info

2.修改容器空间大小:

首先先进入目录(使用yum安装docker的默认目录)

cd /dev/mapper/

使用命令查看容器是否正在运行

docker ps -a

使用命令查看容器卷

dmsetup table

可以看到20971520,这个是卷空间值,我们需要修改的就是这里。

其它的值要记下:253:7 11

使用ls或ll命令查看在/dev/mapper/目录下的文件是否存在。(这步很重要,因为非正在运行的Container是不会有这个文件的)

使用命令修改容器空间大小:

echo 0 88080384 thin 253:7 11 | dmsetup load docker-253:1-184549824-95f242e4fe2fef132ab1a706ebf8eecbb1c6db19547c3f12b34b76a5dee96c7e

这里的88080384会替换原20971520值,意思为:42GB。

计数公式为:42*1024*1024*1024/512

可以使用命令打印:

echo $((42*1024*1024*1024/512))

接着使用命令:

dmsetup resume docker-253:1-184549824-95f242e4fe2fef132ab1a706ebf8eecbb1c6db19547c3f12b34b76a5dee96c7e
resize2fs /dev/mapper/docker-253:1-184549824-95f242e4fe2fef132ab1a706ebf8eecbb1c6db19547c3f12b34b76a5dee96c7e

完成。然后进入容器的终端,使用命令df -h即可看到修改后的容器空间。

西部数码的容器云是通过docker技术,在集群服务器上部署容器服务实现,拥有上万Linux镜像,功能强大、简单易用,可轻松作集群服务,自由组网、轻量灵活。

高性价比的容器云产品链接 paas/container/

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

标签: