docker와 k8s에서 필요 없는 자원 대량 삭제

배경.
Docker와 K8s를 자주 하는 친구들은 런닝이 아닌 용기나pod를 자주 만난다. 사실 이것은 자원을 낭비하는 것이다. 다음은 주로 Docker와 K8s에서 런닝 상태가 아닌 용기나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

좋은 웹페이지 즐겨찾기