在释放内部空间后调整docker容器的大小

时间:2015-02-04 23:03:15

标签: docker lxc

我有一个带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是:

  1. 容器:5
  2. 图片:65 Storage
  3. 司机:aufs
  4. Root Dir:/ var / lib / docker / aufs
  5. Dirs:75
  6. 执行驱动程序:native-0.2 Kernel
  7. 版本:3.13.0-32-generic
  8. 操作系统:Ubuntu 14.04.1 LTS

2 个答案:

答案 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