gpt4 book ai didi

docker - 手动删除旧的Docker镜像是否安全?

转载 作者:行者123 更新时间:2023-12-02 18:17:14 25 4
gpt4 key购买 nike

我开始研究Docker,但对Docker镜像有一些疑问。因为每次创建新镜像时,我都会从Docker中复制旧镜像,但是即使在运行命令> docker rmi 'IMAGE ID'之后,以及当我进入/var/lib/docker-registry/images目录cd时,它看起来仍然像下面所示:

drwxr-xr-x.  2 root root   60 May 14 13:22 65de4a13fc7cf28b4376e65efa31c5c3805e18da4eb01ad0c8b8801f4a10bc16
drwxr-xr-x. 2 root root 60 May 14 13:23 4970b995ce6435831c0e700f7c3ce6363235fbd15333af2dfb60a133ee8e9226
drwxr-xr-x. 2 root root 60 May 18 11:24 edaa232fba2214030847b7f6f57b1c05cf92a7c607332495bfab21738ceb61e1
drwxr-xr-x. 2 root root 60 May 18 16:16 09dab15bb87d1273fce7d786b2443a1d68a6cdcd397443fed4b7ac1bac298d30
drwxr-xr-x. 2 root root 60 May 18 17:20 8a622b1faf8c1df7a1f97e8fa4b841803160a800d04f6af539044f6f22ae9a38
drwxr-xr-x. 2 root root 60 May 19 14:15 b823d1a073894fdb70f7a8846f4d14eb8a2f2842f047a3d8ad847343d576c2e2
drwxr-xr-x. 2 root root 60 May 20 09:38 7c3c8e970803c9487f1f8884eb17603efb442a31b6f2082f3b26592311264e92
drwxr-xr-x. 2 root root 60 May 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下的图像文件夹?

一些其他信息:

我已经在 /var/lib/docker-registry/repositories/library/目录下找到了,其中包含多个图像,其中大多数已使用> docker rmi删除,但是当我将 cd放入已删除图像文件夹之一时,它包含多个文件,如下所示:
[/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文件夹中手动删除旧图像文件夹是否安全?

最佳答案

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

关于docker - 手动删除旧的Docker镜像是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30505945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com