Docker 清理脚本
以下脚本提供了一种简便的方法来清理Docker环境。它会删除所有的容器、镜像、网络和卷。使用此脚本请小心,因为它会删除您所有Docker相关的资源。
脚本内容 (cleanup-docker.sh
):
#!/bin/bash
# 函数: 删除Docker资源
function docker_remove() {
resource_type=$1
list_command=$2
remove_command=$3
resource_ids=$(eval $list_command)
if [ -z "$resource_ids" ]; then
echo "没有发现任何 $resource_type 要删除。"
return
fi
echo "正在删除所有 $resource_type..."
if eval $remove_command; then
echo "所有 $resource_type 已成功删除!"
else
echo "删除 $resource_type 时出错!"
exit 1
fi
}
# 确认操作
read -p "这将删除所有Docker容器、镜像、网络和卷。您确定要继续吗? (y/N) " decision
if [[ $decision != "y" && $decision != "Y" ]]; then
echo "操作已取消。"
exit 1
fi
# 删除Docker资源
docker_remove "容器" "docker ps -a -q" "docker rm -f \$(docker ps -a -q)"
docker_remove "镜像" "docker images -q" "docker rmi -f \$(docker images -q)"
docker_remove "网络" "docker network ls -q" "docker network rm \$(docker network ls -q)"
docker_remove "卷" "docker volume ls -q" "docker volume rm \$(docker volume ls -q)"
echo "清理完毕!"
使用方法:
- 将上述脚本内容复制并保存为
cleanup-docker.sh
。 - 通过终端进入到脚本所在的文件夹,并给予脚本执行权限:
chmod +x cleanup-docker.sh
- 执行脚本:
./cleanup-docker.sh
警告: 该脚本会永久删除所有Docker资源,请确保您知道自己在做什么,并且在执行前做好备份。
请按照上述步骤操作,并确保在执行前了解脚本的作用,以防止意外的数据丢失。