如何安全地批量删除服务器上很多很乱的镜像?

新手上路,请多包涵

公司业务在生产环境100多台服务器上用了docker,已经有大半年了,可是最近发现,每个服务器上的各种镜像好多好乱,有没有什么办法可以批量安全地删除?

阅读 11.4k
4 个回答

删除停止的容器
docker rm $(docker ps --all -q -f status=exited)

删除没有使用的镜像
docker rmi -f $(docker images | grep "<none>" | awk "{print \$3}")

方法很多,可以试试下面这两个命令

  • 批量删除镜像
    docker images | awk '{print $3}' | xargs docker rmi

  • 批量删除容器
    docker ps -a | awk '{print $1}' | xargs docker rm

如果需要根据具体的容器名或镜像名过滤的话,可以修改上面的awk表达式进行处理。

新手上路,请多包涵

类似这样,删除test_开头的镜像:

docker rmi -f $(docker images --format "{{.Repository}}" |grep "^test_*")
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进