背景
本地环境下集成rancher及其他容器,由于机器性能限制,想把所有容器给清除了,然后真的要使用时,才启动相关的容器,各容器的数据卷、运行时发生变动的目录会挂在本地目录,于是就有了下面的脚本,用于对容器、volume及k8s相关配置文件目录进行清除。
脚本示例
#!/bin/bash
#删除所有容器
sudo docker rm -f$(sudo docker ps -qa)
#删除/var/etcd目录
sudo rm -rf /var/etcd
#删除/var/lib/kubelet/目录,删除前先卸载
for m in$(sudo tac /proc/mounts |sudo awk'{print $2}'|sudo grep /var/lib/kubelet);do
echo "$m" && umount $m||true
done
sudo rm -rf /var/lib/kubelet/
#删除/var/lib/rancher/目录,删除前先卸载
for m in$(sudo tac /proc/mounts |sudo awk'{print $2}'|sudo grep /var/lib/rancher);do
echo "$m" && umount $m||true
done
sudo rm -rf /var/lib/rancher/
#删除/run/kubernetes/ 目录
sudo rm -rf /run/kubernetes/
#删除所有的数据卷
sudo docker volume rm$(sudo docker volume ls -q)
#再次显示所有的容器和数据卷,确保没有残留
num2=`sudo docker ps -a |wc -l`
echo "sudo docker ps -a | wc -l"
echo `sudo docker ps -a |wc -l`
num1=`sudo docker volume ls |wc -l`
echo "sudo docker volume ls | wc -l"
echo `sudo docker volume ls |wc -l`
网友评论