Docker 拉取图像时,设备上没有剩余空间

Docker 拉取图像时,设备上没有剩余空间,docker,Docker,使用Windows 10 Build 14393下的Docker 1.13.0(9795),在尝试运行最新的python映像(即3.6)时,我得到了“设备上没有剩余空间”: 硬盘上有超过20GB的空闲空间,所以我认为问题出在Docker的虚拟机内部。如何访问它以调查磁盘使用情况并在需要时进行清理 docker图像和docker ps-a没有识别任何大的: > docker images REPOSITORY TAG IMAGE ID

使用Windows 10 Build 14393下的Docker 1.13.0(9795),在尝试运行最新的python映像(即3.6)时,我得到了“设备上没有剩余空间”:

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

docker图像
docker 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

我今天遇到了这个错误

docker-prune
docker-rmi…
df-h
df-ih
等可能很好,但原因是docker-deviceapper-Base-Device Size
docker info
命令提供了有关该操作的信息

我参考了一本书以获得完整的解释

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

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

错误是由于装载卷的原因,请执行以下命令

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


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

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


然后我通过设置重新启动了docker,并通过
docker system df
再次检查,现在它显示的是GB大小

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

docker image ls -a
如果要删除所有这些文件,可以使用以下命令:

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

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

如果您使用OSX上的Docker Desktop(或类似产品),您可以通过访问首选项、增加基本图像大小,然后单击“应用并重新启动”来解决此问题


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

docker system prune

Docker将图像拉入tmp目录。你确定它也有足够的可用空间吗?@AstraSerg嗯,我在一个Windows系统上,只有一个逻辑和物理硬盘,有足够的空间;上面没有
/usr
目录。我确信docker指的是它自己的虚拟机中的linux文件系统。我猜它没有足够的空间,但我不知道如何通过ssh连接到该VM进行检查,或者如何更改分配给VM的磁盘空间量。因此产生了这个问题。
sudo docker image prune-f&&sudo docker container prune-f
这会清理悬空的图像和死掉的容器。@max,你找到解决方案了吗?近两年后,这似乎仍然是一个问题years@22kar对不起,不,我没怎么用docker。
docker system prune