写点什么

docker 批量删除 none 镜像

作者:AlwaysBeta
  • 2022 年 2 月 24 日
  • 本文字数:543 字

    阅读完需:约 2 分钟

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


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


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


删除 dangling 镜像:


docker image prune
复制代码


或者:


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


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


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


或者:


docker ps -a | grep "Exited" | awk '{print $1}'| xargs docker rmdocker images | grep none | awk '{print $3}'| xargs docker rmi
复制代码




推荐阅读:


  • 计算机经典书籍(含下载方式)

  • 技术博客 硬核后端技术干货,内容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。

  • Go 程序员 Go 学习路线图,包括基础专栏,进阶专栏,源码阅读,实战开发,面试刷题,必读书单等一系列资源。

  • 面试题汇总 包括 Python、Go、Redis、MySQL、Kafka、数据结构、算法、编程、网络等各种常考题。

发布于: 刚刚阅读数: 2
用户头像

AlwaysBeta

关注

微信公众号:AlwaysBeta 2017.11.30 加入

后端开发,技术栈:Python,Django,Go,Redis,RabbitMQ,Kafka,Elasticsearch,MySQL

评论

发布
暂无评论
docker 批量删除 none 镜像