【问题标题】:Resize docker container after freeing space inside释放内部空间后调整 docker 容器的大小
【发布时间】:2015-02-04 23:03:15
【问题描述】:

我有一个带有 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 个存储
  3. 驱动程序:aufs
  4. 根目录:/var/lib/docker/aufs
  5. 目录:75
  6. 执行驱动程序:native-0.2 内核
  7. 版本:3.13.0-32-通用
  8. 操作系统:Ubuntu 14.04.1 LTS

【问题讨论】:

    标签: docker lxc


    【解决方案1】:

    James Turnbull 在“The Docker Book”中描述了我所做的事情:

    VOLUME /var/lib/docker
    

    所以现在所有“重”的东西都存储在主机上!

    希望对某人有所帮助

    【讨论】:

      【解决方案2】:

      请参阅我在另一个线程中使用 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
      

      【讨论】:

        猜你喜欢
        • 2014-12-20
        • 1970-01-01
        • 2017-02-19
        • 1970-01-01
        • 1970-01-01
        • 2014-04-29
        • 1970-01-01
        • 1970-01-01
        • 2012-07-24
        相关资源
        最近更新 更多