脚本卸载docker
脚本如下:
#!/bin/bash
set -x
DOCKER_ROOT=$(docker info | grep "Root Dir")
#
# 删除现有容器、镜像、服务、集群和网络
echo "=> 删除现有容器、镜像、服务、集群和网络"
docker rm -f $(docker ps -aq)
docker service ls | awk 'NR>1 {print $1}' | xargs -L docker service rm
docker image ls | awk 'NR>1 {print "docker image rm " $1":"$2}' | sh
docker swarm leave --force
docker network ls | grep overlay | '{print "docker network rm "$1}' | sh
docker volume prune -f
docker system prune -f
#
# 停止dockerd
echo "=> 停止dockerd"
systemctl stop docker && \
pkill -9 docker
#
# 防止containerd挂载, 卸载所有docker的挂载
echo "=> 防止containerd挂载, 卸载所有docker的挂载"
pkill -9 containerd
ps -ef | grep containerd | grep -v grep | awk '{print "kill -9 "$2}' | sh
df -h | grep overlay | awk '{print $6}' | xargs -L1 umount
#
# 清理docker daemon相关配置和程序
echo "=> 清理docker daemon相关配置和程序"
rm -f /usr/local/systemd/system/docker.service \
/etc/systemd/system/docker.service
rm -fr /etc/docker
rm -fr ${DOCKER_ROOT:18}
rm -f /usr/bin/docker* \
/usr/bin/ctr \
/usr/bin/containerd* \
/usr/bin/runc
#
# 刷新系统服务
echo "=> 刷新系统服务"
systemctl daemon-reload
浙公网安备 33010602011771号