linux docker 删除none的镜像
在Docker中,通常会有一些无标签(none)的镜像和悬空镜像(即不再任何容器中使用但未被删除的镜像)。这些无标签镜像和悬空镜像可能会占用磁盘空间。
要删除这些无标签的镜像,可以使用以下命令:
docker rmi $(docker images -f "dangling=true" -q)
这条命令会删除所有未被任何容器使用的悬空镜像。
如果你也想删除无标签的镜像,可以使用以下命令:
docker rmi $(docker images -f "dangling=true" -q) $(docker images | grep "<none>" | awk '{print $3}')
这条命令会先删除所有悬空镜像,然后删除所有无标签的镜像。
请注意,在执行删除操作前,确保不会删除任何你可能还需要的镜像。如果不确定,可以先使用 docker images
命令列出所有镜像,进行检查。
这两条都是只删除none的镜像,使用效果都一样
docker rmi $(docker images | grep "<none>" | awk '{print $3}')
docker rmi $(docker images | grep "none" | awk '{print $3}')
注意这里直接使用这个命令删除none的镜像时,有可能会因为空间不足报如下错误
Error response from daemon: open /var/lib/docker/image/overlay2/.tmp-repositories.json2277775052: no space left on device
这时建议先使用上面的docker rmi $(docker images -f "dangling=true" -q)命令删除悬空镜像清理出空间后再删除none的镜像