Docker 删除所有悬虚镜像(name 为none , tag 为 none)
什么是 悬虚镜像
悬虚镜像就是镜像没有仓库名或没有标签查询显示虚悬镜像,在列表中展示为 <none>:<none>
悬虚镜像 怎么来的
有时候在构建新镜像的时候,为这个镜像打了一个已经存在的tag,此时Docker 会移除旧镜像上的tag,将这个tag 用在新的镜像上,此时旧镜像就变成了悬虚镜像, 或者构建新镜像报错时,也会生成一个悬虚镜像。
删除悬虚镜像
docker image prune
删除没有使用的镜像
在命令docker image prune
加上参数-a
,可以删除没有被任何容器使用的镜像。
docker image prune -a
输入y
即可删除。
PS
docker images | grep none | awk '{print $3}' | xargs docker rmi
docker ps -a|grep "Exited" | awk '{print $1}' | xargs docker stop
docker ps -a|grep "Exited" | awk '{print $1}' | xargs docker rm
docker images|grep none|awk '{print $3}'|xargs docker rmi
# 添加定时任务,批量删除tag 为none 的镜像 ,释放磁盘空间
[root@loaclhost]:~# crontab -l
*/ * * * /usr/bin/docker rmi `docker images|grep none| awk '{print $3}'`
docker rmi $(docker images -f "dangling=true" -q)