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 "清理完毕!"

使用方法:

  1. 将上述脚本内容复制并保存为cleanup-docker.sh
  2. 通过终端进入到脚本所在的文件夹,并给予脚本执行权限:
chmod +x cleanup-docker.sh
  1. 执行脚本:
./cleanup-docker.sh

警告: 该脚本会永久删除所有Docker资源,请确保您知道自己在做什么,并且在执行前做好备份。


请按照上述步骤操作,并确保在执行前了解脚本的作用,以防止意外的数据丢失。

最后修改:2023 年 08 月 08 日
如果觉得我的文章对你有用,请随意赞赏