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

背景

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 摘要:继续docker的学习之旅,今天练习一些常用的命令: 一、镜像相关 1.1 列出本机所有镜像 docker ...
    暖夏未眠丶阅读 4,114评论 0 0
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 5,789评论 0 7
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 9,835评论 0 27
  • 基于大量虚拟机的Jmeter集群有个缺点,就是不方便管理,比如需要重启Jmeter服务,还需要一个个的连接到虚拟机...
    smooth00阅读 6,197评论 0 11
  • 【原文】葛覃 葛之覃兮,施于中谷,维叶萋萋。黄鸟于飞,集于灌木,其鸣喈喈。 葛之覃兮,施于中谷,维叶莫莫。是刈是濩...
    逗霸君阅读 4,330评论 7 13