由于某些原因,我无法删除泊坞窗图片。 这是输出
操作系统版本:
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
原因是什么?如何删除这些图像?
答案 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
的调用中,并且不需要重新启动守护程序。