美文网首页自动化
批量删除容器及volume脚本示例

批量删除容器及volume脚本示例

作者: 佛系小懒 | 来源:发表于2020-02-19 20:26 被阅读0次

    背景

    本地环境下集成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`

    相关文章

      网友评论

        本文标题:批量删除容器及volume脚本示例

        本文链接:https://www.haomeiwen.com/subject/ucdzfhtx.html