我有一个带jenkins的docker容器(让它成为container1) - 它是标准容器,仅运行--privileged
标志。
作为CI流程的一部分,我在这个容器中运行容器(用于集成测试等)。一切都很好 - 但我决定提交这个容器,并确定它的图像(提交的结果)虚拟大小是~140 Gb!主机上的文件夹/ var / lib / docker(sudo du -sh /var/lib/docker
)显示我的152 Gb
我通过sudo docker exec -i -t container1
登录了我的容器,并完全删除了容器中/ var / lib / docker中的所有内容。我还在container1中运行sudo du -sh /
,它只显示32 Gb(这是正常的 - 它是android SDK和其他东西)。我试图再次提交这个容器 - 但结果是相同的~140 Gb。
那么主机上的docker可能无法减少容器的大小?有没有办法说主机上的docker容器几乎是空的并且需要缩小
主持人的docker info
是:
答案 0 :(得分:1)
我在“Docker Book"作者:James Turnbull:
VOLUME /var/lib/docker
所以"重"现在的东西存放在主机上了!
希望它会帮助某人
答案 1 :(得分:0)
有关在另一个线程中使用 resize2fs 调整 / var / lib / docker 的大小,请参见我的分步说明:Docker increase disk space
TL; DR:
> df -h
/dev/sda3 17.6G 4.1G 12.6G 25% /var/lib/docker
Step 0. install cfdisk, e2fsprogs-extra (resize2fs)
> apk add cfdisk
> apk add e2fsprogs-extra
Step 1. resize partition /dev/sda3
> cfdisk
Step 2. resize file-system
> resize2fs /dev/sda3
Step 3. verify free space
> df -h
/dev/sda3 37.3G 4.1G 31.4G 12% /var/lib/docker