那些没有标签的镜像称之为虚悬镜像,在列表中展示为none:none。通常出现这种情况,是构建了一个新镜像,然后为该镜像打了一个已经存在的标签。docker就会将旧镜像上的标签移除。
下图tag和repository为none的镜像就是虚悬镜像,如下图
删除虚悬镜像:
第一步:查出虚悬镜像;-f:–filter,过滤器。true,返回虚悬镜像,false,返回非虚悬镜像。
docker image ls -f dangling=true
第二步:删除,如果加上-a参数,会移除未被任何容器使用的镜像。
docker image prune
其他过滤器使用:使用reference过滤,只显示标签未latest的事例。
docker image ls --filter=reference="*:latest"
format过滤事例,显示全部镜像,只显示仓库,标签,大小
docker image ls --format "{{.Repository}}:{{.Tag}}:{{.Size}}"