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

7 篇文章 0 订阅
3 篇文章 0 订阅

背景

经常玩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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值