镜像没有仓库名或没有标签的镜像
虚悬镜像的由来
那些没有标签的镜像被称为悬虚镜像,在列表中展示为<none>:<none>
。通常出现这种情况,是因为构建了一个新镜像,然后为该镜像打了一个已经存在的标签。当此情况出现,Docker
会构建新的镜像,然后发现已经有镜像包含相同的标签,接着Docker会移除旧镜像上面的标签,将该标签标在新的镜像之上。例如,首先基于alpine:3.4构建一个新的镜像,并打上dodge:challenger
标签。然后更新Dockerfile
,将alpine:3.4
替换为alpine:3.5
,并且再次执行docker image build
命令。该命令会构建一个新的镜像,并且标签为dodge:challenger
,同时移除了旧镜像上面对应的标签,旧镜像就变成了悬虚镜像
- 查询显示虚悬镜像
docker images -f dangling=true
- 删除虚悬镜像
docker rmi $(docker images -q -f dangling=true)
网友评论