天天看點

docker常用清理指令

多是用在自己犯錯時候的筆記吧,終非聖賢嘛

  1. docker ps -a -q //檢視所有容器ID
  2. docker stop $(sudo docker ps -a -q) //stop停止所有容器
  3. docker rm $(sudo docker ps -a -q) //remove删除所有容器
  4. docker stop $(docker ps -q) && docker rm $(docker ps -aq) //一次性停止删除容器
  5. docker system df //檢視Docker占用分布
  6. docker system df -v //指令可以進一步檢視空間占用細節,以确定是哪個鏡像、容器或本地卷占用過高空間
  7. docker system prune //可對空間進行自動清理。

    該指令所清理的對象如下:

    已停止的容器、未被任何容器使用的卷、未被任何容器所關聯的網絡、所有懸空的鏡像

  8. docker image prune //删除懸空的鏡像。
  9. docker container prune:删除無用的容器。

    預設情況下docker container prune指令會清理掉所有處于stopped狀态的容器,如果不想那麼殘忍統統都删掉,也可以使用–filter标志來篩選出不希望被清理掉的容器。例子:清除掉所有停掉的容器,但24内建立的除外:

    docker container prune --filter “until=24h”

  10. docker rm -v $(docker ps -aq -f status=exited) //删除所有已退出的容器
  11. docker rmi $(docker images -f “dangling=true” -q) //删除所有懸空鏡像,不删除未使用鏡像
  12. docker volume prune //删除無用的卷
  13. docker network prune //删除無用的網絡

    附:

rancher建立失敗後,伺服器清理:

df -h | grep kubelet | awk -F % '{print $2}' | xargs umount
rm /var/lib/kubelet/* -rf
rm /etc/kubernetes/* -rf
rm /etc/cni/* -rf
rm /var/lib/rancher/* -rf
rm /var/lib/etcd/* -rf
rm /var/lib/cni/* -rf
rm /opt/cni/* -rf 
(ip link del flannel.1)
(ip link del cni0)
(iptables -F && iptables -t nat -F)
docker ps -a|grep -v gitlab|awk '{print $1}'|xargs docker rm -f
docker volume ls|awk '{print $2}'|xargs docker volume rm
systemctl restart docker
           

常用調試:

docker logs agent/kubelet/proxy
           
journalctl -f -u kubelet.service