docker和k8s中实现批量删除不要的资源

 更新时间:2025年12月01日 16:56:41   作者:醉生梦死一笑惊魂  
文章介绍了在Docker和K8s中批量删除不是running状态的容器或pod的四种方法,包括根据容器状态删除Exited状态的容器、显示所有容器并过滤出Exited状态的容器、删除所有未运行的容器以及使用docker containers prune命令删除孤立的容器

经常玩Docker与K8s的朋友经常会遇到很多不是running的容器或者pod,其实这很浪费资源,下面主要介绍在Docker和K8s中批量删除不是running状态的容器或者pod。

清理exited进程

方法一

根据容器的状态,删除Exited状态的容器

docker rm $(docker ps -q -f status=exited)

方法二

显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID

sudo docker ps -a|grep Exited|awk '{print $1}'

查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器

sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`

或者

docker ps -a|grep Exited|awk '{print $1}'|xargs docker rm

方法三

删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)

sudo docker rm $(sudo docker ps -a -q)

方法四

Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器

sudo docker container prune​

清理dangling volumes

  • (可以参考清理exited进程的四种方法):
docker volume rm $(docker volume ls -qf dangling=true)

清理dangling image

  • (可以参考清理exited进程的四种方法):
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

清理MatchNodeSelector的pod

  • (可以参考清理exited进程的四种方法):
kubectl --all-namespaces  get po -o wdie | grep MatchNodeSelector |awk '{print$1}'|xargs kubectl -n kube-system delete pods

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker镜像加速配置失败的排查和修复教学

    Docker镜像加速配置失败的排查和修复教学

    这篇文章主要为大家详细介绍了Docker进行镜像加速配置出现失败的排查和修复教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-05-05
  • PIP安装docker-compose超时问题解决方案

    PIP安装docker-compose超时问题解决方案

    这篇文章主要介绍了PIP安装docker-compose超时问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • docker拉取镜像报错:Error response from daemon: Get “https://registry-1.docker.io/v2/“: dial tcp的解决方案

    docker拉取镜像报错:Error response from daemon: Get “https://r

    本文聚焦于解决 Docker 镜像拉取报错 “Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp …: i/o timeout” 问题,有需要的小伙伴可以了解下
    2025-08-08
  • 启动桌面Docker提示虚拟服务未启动两种解决方案

    启动桌面Docker提示虚拟服务未启动两种解决方案

    Docker 是⼀个开源的应用容器引擎,可以实现虚拟化,这篇文章主要介绍了在启动Docker Desktop时遇到的错误,并提供了解决方案,文中通过代码以及图文介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • 基于Docker搭建iServer集群

    基于Docker搭建iServer集群

    Docker扩展了LXC,提供了更高级别的API,并简化了应用的打包和部署,为终端用户创建彼此独立的私有环境,可有效节约开发者和系统管理员的环境部署时间。这篇文章主要介绍了基于Docker搭建iServer集群,需要的朋友可以参考下
    2022-04-04
  • 详解Ubuntu Docker Registry 搭建私有仓库

    详解Ubuntu Docker Registry 搭建私有仓库

    这篇文章主要介绍了详解Ubuntu Docker Registry 搭建私有仓库,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Docker探索namespace详解

    Docker探索namespace详解

    以前对docker中的namespace了解甚少,今天在网上查阅相关文章,发现这篇还不错,介绍了namespace资源隔离以及进行namespace api操作的四种方式等内容,这里分享给大家,供参考。
    2017-10-10
  • docker安装RabbitMQ及安装延迟插件的详细过程

    docker安装RabbitMQ及安装延迟插件的详细过程

    MQ(message queue)字面意思上来说消息队列,是一种跨进程的通信机制,用于上下游传递消息,本文给大家详细介绍docker安装RabbitMQ及安装延迟插件的过程,感兴趣的朋友一起看看吧
    2022-06-06
  • 在Docker容器中运行Nginx的详细教程

    在Docker容器中运行Nginx的详细教程

    Nginx 是一款高性能 Web 服务器,常被用作反向代理、负载均衡器以及内容缓存,当你将 Nginx 运行在 Docker 容器中时,还能进一步获得可移植性、快速部署和更整洁的管理体验,本教程将带你从零开始学习如何使用 Docker 部署 Nginx,需要的朋友可以参考下
    2025-10-10
  • docker镜像仓库常用命令分享

    docker镜像仓库常用命令分享

    这篇文章主要介绍了docker镜像仓库常用命令,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06

最新评论