"码头图片"显示图像," docker rmi"说"没有这样的形象"或"参考不存在"

时间:2017-09-23 16:35:44

标签: linux docker

由于某些原因,我无法删除泊坞窗图片。 这是输出

操作系统版本:

Linux localhost.localdomain 4.12.13-300.fc26.x86_64 #1 SMP Thu Sep 14 16:00:38 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

docker version

Client:
 Version:      17.06.2-ce
 API version:  1.30
 Go version:   go1.8.3
 Git commit:   cec0b72
 Built:        Tue Sep  5 20:05:40 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.06.2-ce
 API version:  1.30 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   cec0b72
 Built:        Tue Sep  5 20:06:58 2017
 OS/Arch:      linux/amd64
 Experimental: false`

我没有任何容器:

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED                 STATUS              PORTS               NAMES

和我要删除的两张图片:

$ docker images -a
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
gcc                 7.1.0               855a4f4d1cd9        2 months ago        1.64GB
hello-world         latest              1815c82652c0        3 months ago        1.84kB

我的尝试:

$ docker rmi -f gcc:7.1.0
Error response from daemon: No such image: gcc:7.1.0

$ docker rmi -f 855a4f4d1cd9
Error response from daemon: reference does not exist

$ docker rmi -f hello-world:latest 
Error response from daemon: No such image: hello-world:latest

$ docker rmi -f 1815c82652c0
Error response from daemon: reference does not exist44

原因是什么?如何删除这些图像?

3 个答案:

答案 0 :(得分:29)

这意味着您的泊坞窗状态已损坏,您需要清除完整状态

sudo service docker stop
sudo rm -rf /var/lib/docker
sudo service docker start

这将启动docker fresh而不存在任何现有数据。尝试在此之后删除图像,看看是否一切正常。如果没有,那么有一些问题需要加以研究

答案 1 :(得分:8)

首先尝试docker image prune甚至docker image prune -a,以删除未使用/未与至少一个容器相关联的任何图像。

如果仍然列出了这些,请重新启动docker守护程序。

答案 2 :(得分:0)

为避免删除所有docker数据并从头开始,您还可以尝试通过将不良映像引用与/var/lib/docker/image/devicemapper/imagedb/content/sha256中的文件进行匹配来手动清理损坏的引用。将相应的文件删除后,该文件将不再显示在随后对docker images的调用中,并且不需要重新启动守护程序。