# Docker教程 - 3 虚悬镜像

什么是虚悬镜像(dangling image)?

镜像名、标签都是 <none> 的镜像。通常在构建的过程中,取消构建、构建出现问题的时候,会出现异常的镜像,这种镜像没有名称和标签。因此,这些镜像被称为虚悬镜像,因为它们“悬浮”在Docker中,没有被任何容器所使用,也不会被Docker清理工具删除。

虚悬镜像的产生概率不高,但一旦生成,可能会对系统造成一些潜在的风险。因此,一旦发现虚悬镜像,应该立即删除。

# 3.1 查看虚悬镜像

使用命令如下:

docker image ls -f dangling=true
1

当然通过查看全部镜像也可以看到虚悬镜像:

docker images -a
1

# 3.2 删除虚悬镜像

下面的命令可以删除所有的虚悬镜像,但是也会删掉所有没有被任何容器使用的镜像:

docker image prune
1

可以添加过滤,只删除虚悬镜像:

docker image prune --filter "dangling=true"
1

当然查询到虚悬镜像后,通过镜像ID删除也可以:

docker rmi -f 镜像ID
1

虚悬镜像会占用磁盘空间,并可能对系统造成潜在风险,因此建议及时查看和删除虚悬镜像。