Docker删除图片问题

我开始在Docker上工作,并在docker图像上得到了一些问题方面的意见。 因为每次创build新映像时,我都会从Docker中读取旧映像,但看起来甚至在运行命令> docker rmi 'IMAGE ID' /var/lib/docker-registry/images > docker rmi 'IMAGE ID' ,当我进入/var/lib/docker-registry/images目录,它仍然显示了很多图像,如下所示:

drwxr-XR-X。 2 root root 60 5月14日13:22 65de4a13fc7cf28b4376e65efa31c5c3805e18da4eb01ad0c8b8801f4a10bc16
drwxr-XR-X。 2 root root 60 5月14日13:23 4970b995ce6435831c0e700f7c3ce6363235fbd15333af2dfb60a133ee8e9226
drwxr-XR-X。 2 root root 60 May 18 11:24 edaa232fba2214030847b7f6f57b1c05cf92a7c607332495bfab21738ceb61e1
drwxr-XR-X。 2根根60 5月18日16:16 09dab15bb87d1273fce7d786b2443a1d68a6cdcd397443fed4b7ac1bac298d30
drwxr-XR-X。 2根根60 5月18日17:20 8a622b1faf8c1df7a1f97e8fa4b841803160a800d04f6af539044f6f22ae9a38
drwxr-XR-X。 2 root root 60 5月19日14:15 b823d1a073894fdb70f7a8846f4d14eb8a2f2842f047a3d8ad847343d576c2e2
drwxr-XR-X。 2 root root 60 5月20日09:38 7c3c8e970803c9487f1f8884eb17603efb442a31b6f2082f3b26592311264e92
drwxr-XR-X。 2 root root 60 5月20日12:31 9d36120c6870e16ff7917b05bbbb84061c70e3135e40b8a10d58b1d6f50b23a3
…..

但是当我运行docker images命令它只显示:

 root# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE Images1 latest f9a1d33ce592 14 hours ago 2.32 GB Images2 latest 09dab15bb87d 9 days ago 877.2 MB 

所以这里是我的问题:如果我在这里错了,因为它不会删除/var/lib/docker-registry/images下的图像文件夹,每当我运行>docker rmi

如果我可以手动删除/ var / lib / docker-registry / images下的images文件夹?

一些额外的信息:

我已经find/var/lib/docker-registry/repositories/library/目录下,其中包含多个图像,其中大部分是我已经使用的> docker rmi删除的,但是当我将其中一个删除的图像文件夹它包含多个文件:

  [/var/lib/docker-registry/repositories/library/deleted-images1] root# ls -latr total 20 -rw-r--r--. 1 root root 159 May 27 17:39 taglatest_json -rw-r--r--. 1 root root 64 May 27 17:39 tag_latest -rw-r--r--. 1 root root 159 May 27 17:39 json drwxr-xr-x. 2 root root 75 May 27 17:39 . -rw-r--r--. 1 root root 304 May 27 17:39 _index_images drwxr-xr-x. 14 root root 4096 May 28 10:15 .. 

并在_index_images文件中包含不同的id:

[{“id”:“4970b995 …”},{“id”:“65de4a13 ….”},{“id”:“f9a1d33 ….”},{“id”:“09dab15。 …“}]

所以只是想知道如果这是造成图像文件夹没有从/var/lib/docker-registry/images目录下运行时> docker rmi?

手动删除/var/lib/docker-registry/images/var/lib/docker-registry/repositories/library文件夹中的旧映像文件夹对我来说安全吗?

谢谢

当您构build一个图像时,Dockerfile的每一行都会创build一个中间图像或图层 ,直到从该图层构build的所有其他图像也被删除后才会被删除。 您可以使用docker images -a来查看所有这些中间图像层,这些应该与/var/lib/docker-registry/images的内容相同。 (无论哪种方式,我强烈build议不要从这个目录手动删除条目。)

你可以尝试使用下面的命令。 它清除了我的大部分可见部分,使您的docker图像列表过于庞大

docker图像-a | grep''| awk'{print $ 3}'| xargs – 不运行,如果空的dockerrmi

 #!/bin/bash echo "clean containers ..." docker ps --filter status=exited -aq | xargs --no-run-if-empty docker rm -vf echo "clean images ..." docker images --quiet --filter=dangling=true | xargs --no-run-if-empty docker rmi -f