我们平时可能会看到这样一个镜像,这个镜像既没有仓库名,也没有标签,均为<none> :
<none> <none> 00285df0df87 5 days ago 342 MB
这个镜像原本是有镜像名和标签的,原来为 java:1.8
,随着官方镜像维护,发布了新版本后,重新 docker pull java:1.8
时, java:1.8
这个镜像名被转移到了新下载的镜像身上,而旧的镜像上的这个名称则被取消,从而成为了<none> 。除了 docker pull
可能导致这种情况,docker build
也同样可以导致这种现象。由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为<none>的镜像。这类无标签镜像也被称为虚悬镜像(dangling image) ,可以用下面的命令专门显示这类镜像:
docker images -f dangling=true
一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除。
docker rmi $(docker images -q -f dangling=true)