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的镜像

posted @ 2024-06-18 09:51  llili  阅读(797)  评论(0编辑  收藏  举报