删除REPOSITORY 为的镜像
在 Docker 中,镜像名称为 表示这些镜像是没有标签(dangling images),通常是因为镜像在构建过程中被临时创建或者标签被删除。你可以使用以下命令来删除这些没有标签的镜像。
删除 镜像的步骤:
列出所有镜像,包括没有标签的镜像:
docker images
你会看到类似这样的输出:
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 123abc456def 2 hours ago 500MB
<none> <none> 789xyz123abc 3 days ago 500MB
some_repo latest abc123456789 5 days ago 1GB
其中 表示无标签的镜像。
删除所有 镜像:
你可以使用以下命令来删除所有没有标签的镜像(即 REPOSITORY 和 TAG 都是 的镜像):
docker rmi $(docker images -f "dangling=true" -q)
解释:
docker images -f "dangling=true"
会列出所有悬空(dangling)镜像,-q 参数只返回镜像 ID。docker rmi $(...)
会删除这些镜像。
确认镜像已被删除:
再次运行 docker images 查看,确认 镜像已被清理。
可能的其他清理命令:
删除所有悬空镜像和未使用的镜像:
如果你希望删除所有未被使用的镜像(包括 的镜像和未被任何容器使用的镜像),你可以使用:
docker system prune -a
这个命令会删除:
未使用的容器
未使用的网络
所有未被标记的镜像
构建缓存
注意: docker system prune -a 是一个比较危险的命令,使用时要小心,因为它会删除所有未使用的镜像和容器,可能会影响当前系统的其他部分。
总结:
使用 docker rmi $(docker images -f “dangling=true” -q) 可以删除所有 镜像。
如果想要更彻底地清理未使用的镜像和容器,可以使用 docker system prune -a。