204-使用镜像-虚悬镜像&中间层镜像

虚悬镜像

仓库名、标签均为 的镜像被称为虚悬镜像,一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的。

造成虚悬镜像的原因:
原因一:
原本有镜像名和标签的镜像,发布了新版本后,重新 docker pull *** 时,旧的镜像名被转移到了新下载的镜像身上,而旧的镜像上的这个名称则被取消,从而称为了 ;

原因二:
docker build 同样可以导致这种现象。

查看所有虚悬镜像

$ docker image ls -f dangling=true

删除所有虚悬镜像

$ docker image prune

中间层镜像

为了加速镜像构建、重复利用资源,Docker 会利用中间层镜像。默认的 docker image ls 列表中只显示顶层镜像,如果希望显示包括中间层镜像在内的所有镜像的话,需要加 -a 参数。

$ docker iamge ls -a

这样会看到很多无标签的镜像,与之前的虚悬镜像不同,这些无标签的镜像很多都是中间层镜像,是其它镜像所依赖的镜像。这些无标签镜像不应该被删除,否则会导致上层镜像因为依赖丢失而出错。实际上,这些镜像也没必要删除,因为之前说过,相同的层只会存在一遍,而这些镜像是别的镜像的依赖,因此并不会因为他们被列出来而多存一份,无论如何你也会需要它们。只要删除那些依赖它们的镜像后,这些依赖的中间层镜像也会被连带删除。

猜你喜欢

转载自blog.csdn.net/dejunyang/article/details/93509991
今日推荐