拉动图像时设备上没有剩余空间

时间:2017-01-23 19:05:12

标签: docker

在Windows 10 Build 14393下使用Docker 1.13.0(9795),我得到了"设备上没有空间"当试图运行最新的python图像(这将是3.6)时:

> docker run -it python
Unable to find image 'python:latest' locally
latest: Pulling from library/python
5040bd298390: Pull complete
fce5728aad85: Pull complete
76610ec20bf5: Pull complete
52f3db4b5710: Extracting [==================================================>] 129.8 MB/129.8 MB
45b2a7e03e44: Download complete
75ef15b2048b: Download complete
e41da2f0bac3: Download complete
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: failed to register layer: Error processing tar file(exit status
 1): write /usr/share/doc/libfreetype6/reference/ft2-type1_tables.html: no space left on device.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.

硬盘驱动器上有超过20 GB的空闲空间,因此我认为问题出在Docker的虚拟机中。如何访问它以调查磁盘使用情况并在需要时进行清理?

docker imagesdocker ps -a没有识别出任何大的内容:

> docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              f49eec89601e        2 days ago          129 MB
d4w/nsenter         latest              9e4f13a0901e        4 months ago        83.8 kB
> docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
ae1e7c7b11ed        ubuntu              "/bin/bash"         10 minutes ago      Exited (0) 9 minutes ago                       quirky_rosalind

单独拉动没有帮助:

> docker pull python
Using default tag: latest
latest: Pulling from library/python
5040bd298390: Pull complete
fce5728aad85: Pull complete
76610ec20bf5: Pull complete
52f3db4b5710: Extracting [==================================================>] 129.8 MB/129.8 MB
45b2a7e03e44: Download complete
75ef15b2048b: Download complete
e41da2f0bac3: Download complete
failed to register layer: Error processing tar file(exit status 1): write /usr/bin/g++-4.9: no space left on device

6 个答案:

答案 0 :(得分:8)

您可以使用此命令查看是否有隐藏图像。

docker image ls -a

,如果要删除所有这些,可以使用以下命令:

docker rmi -f $(docker image ls -a -q)

您知道有时图像文件存储在硬盘中,然后导致容量不足。

答案 1 :(得分:1)

如果您在OSX(或类似版本)上使用Docker Desktop,则可以通过以下方法解决此问题:访问首选项,增加基本映像大小,然后单击“应用并重新启动”

enter image description here

答案 2 :(得分:0)

我今天遇到了这个错误。

docker purnedocker rmi ...df -hdf -ih等可能不错,但原因是 docker devicemapper基本设备大小docker info命令提供了有关该信息。

我会参考this以获得完整的说明。

但是,这些步骤可以解决问题:

systemctl stop docker.service
dockerd --storage-opt dm.basesize=20G
(you should terminate command with Ctrl+C)
service start docker

答案 3 :(得分:0)

该错误是由于安装卷,执行以下命令

df -h

在docker中检查覆盖挂载目录

Filesystem                        Size  Used Avail Use% Mounted on
devtmpfs                          3.7G     0  3.7G   0% /dev
tmpfs                             3.7G   16K  3.7G   1% /dev/shm
tmpfs                             3.7G   33M  3.7G   1% /run
tmpfs                             3.7G     0  3.7G   0% /sys/fs/cgroup
/dev/mapper/VolGroup00-rootVol     10G  2.3G  7.8G  23% /
/dev/nvme0n1p1                   1014M  334M  681M  33% /boot
/dev/mapper/VolGroup00-homeVol    3.0G   33M  3.0G   2% /home
/dev/mapper/VolGroup00-varVol     4.0G  3.5G  588M  86% /var
/dev/mapper/VolGroup00-tmpVol     2.0G   58M  2.0G   3% /tmp
/dev/mapper/VolGroup00-logVol     4.0G   36M  4.0G   1% /var/log
/dev/mapper/VolGroup00-auditVol   4.0G   98M  3.9G   3% /var/log/audit
/dev/mapper/VolGroup00-vartmpVol  2.0G   33M  2.0G   2% /var/tmp
tmpfs                             753M     0  753M   0% /run/user/1000
overlay                           4.0G  3.5G  588M  86% /var/lib/docker/overlay2/82b544ac4a868c7f3c0180c4751e73084f64785c379362bf0fcf6c07f36cb36e/merged
tmpfs                             753M     0  753M   0% /run/user/0

答案由Tapan Nayan Banker发表|塔潘银行家www.tapanbanker.com

答案 4 :(得分:0)

我面临着同样的问题。但是解决了这个问题:

通过docker system df命令,我检查了显示的图像大小为104 MB,因此错误消息设备上没有剩余空间。

然后,我通过设置重新启动了docker,然后再次按docker system df进行检查,现在这一次它以GB为单位显示大小。

答案 5 :(得分:0)

您将需要删除所有已停止的容器以及所有卷和网络,并且任何容器都不会使用它们。还将删除所有悬空的图像。

docker system prune