【问题标题】:docker image error downloading packagedocker镜像下载包出错
【发布时间】:2016-12-13 17:50:01
【问题描述】:

我正在尝试构建一个 docker 映像(使用我的 Dockerfile),但我收到一个关于下载目录空间不足的非常奇怪的错误:

Total download size: 208 k
Installed size: 760 k
Downloading packages:

Error downloading packages:
  libyaml-0.1.4-11.el7_0.x86_64: Insufficient space in download directory /var/cache/yum/x86_64/7/centos/packages
    * free   0 
    * needed 55 k
  PyYAML-3.10-11.el7.x86_64: Insufficient space in download directory /var/cache/yum/x86_64/7/centos/packages
    * free   0 
    * needed 153 k

The command '/bin/sh -c yum -y install python-yaml' returned a non-zero code: 1

我使用的是 centos7 基础镜像

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  106M  1.5G   7% /run
/dev/sda1       118G  112G     0 100% /
tmpfs           7.9G  648K  7.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/sdb1        92G  206M   87G   1% /boot
tmpfs           1.6G   56K  1.6G   1% /run/user/1001

【问题讨论】:

  • 检查并确保/var 有足够的空间,因为这是docker 将存储其图像的地方。这样做:df -h /var
  • $ sudo du -sh /var/cache/ 573M /var/cache/ AND 958M /var/
  • 如前所述,它是 100% 满的,因此空间不足错误。我列出了 2 种关于如何释放空间的可能性。参考解决方案

标签: docker centos pip


【解决方案1】:

以下docker 命令是为我修复潜在错误的诀窍:

$ docker rm $(docker ps -qa)

【讨论】:

  • 完美答案,谢谢!
  • Nice hack :) 它在构建新的 docker 镜像时也很有帮助。知道如何诊断问题以及为什么删除旧容器会有所帮助会很有趣
  • 这应该在顶部
【解决方案2】:

对我来说,跑步:

docker image prune

成功了。事实证明,我有很多垃圾(又名,悬空)图像占用了空间。 prune 文档可以在 here 找到。

【讨论】:

    【解决方案3】:

    检查并确保 /var 目录有足够的空间,因为这是 docker 存储其图像的地方。

    这样做:df -h /var

    如果 100% 已满,您可能需要清理一些空间。

    docker ps -a - 列出所有容器(包括那些停止和退出的容器)。使用docker rm {CONTAINER_ID} 释放一些空间。

    或者使用docker images 删除未使用的图像。 docker rmi {IMAGE_ID}.

    【讨论】:

      【解决方案4】:

      您首先需要检查空间的使用位置。

      du -h /var | grep -E ‘^[0-9.]*[M|G]’
      

      如果任何特定目录使用了太多空格,请检查如何正确删除它。而你做到了。

      您从未删除过 docker 容器或图像? 空间不足问题的根本原因通常很大。

      通过以下命令检查。

      du -hs /var/lib/docker
      

      如果目录的空格太多,你可以解决下面的docker命令。

      删除所有容器,

      docker rm $(docker ps -qa)
      

      移除 docker 所有图片,

      docker rmi $(docker image ls -qa)
      

      但原因可能不是周围的 docker,比如大日志文件或 rpm 缓存和一些大文件。然后你就可以删除文件了。

      希望对你有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-23
        • 1970-01-01
        • 2021-10-16
        • 2020-09-22
        • 2020-01-20
        • 1970-01-01
        相关资源
        最近更新 更多