首页
学习
活动
专区
圈层
工具
发布
清单首页golang文章详情

docker 批量删除 none 镜像

在使用 docker images 命令的时候,经常会在列表中看到 <none>:<none> 的镜像。

这种镜像在 Docker 官方文档中被称作 dangling images,指的是没有标签并且没有被容器使用的镜像。

docker build 或者 docker pull 新镜像的时候,如果之前已经存在了,涉及到镜像版本更新的话,那么之前的镜像就变成了临时镜像,也就是 <none>:<none> 镜像。

删除 dangling 镜像:

代码语言:txt
复制
docker image prune

或者:

代码语言:txt
复制
docker rmi $(docker images -f "dangling=true" -q)

如果镜像被容器引用了,是不能直接删除的,需要先删除容器。

代码语言:txt
复制
# 删除容器
docker rm $(docker ps -a | grep "Exited" | awk '{print $1}')
# 删除 images
docker rmi $(docker images | grep "none" | awk '{print $3}')

或者:

代码语言:txt
复制
docker ps -a | grep "Exited" | awk '{print $1}'| xargs docker rm
docker images | grep none | awk '{print $3}'| xargs docker rmi
下一篇
举报
领券