当前位置: 首页 > article >正文

删除k8s 或者docker运行失败的脚本

vi  delete_exited_containers.sh
#!/bin/bash

# 列出所有停止的容器并存储到数组
list_exited_containers() {
    echo -e "\nStopped containers:"
    containers=()
    # 获取停止的容器信息并存入数组
    while IFS= read -r line; do
        containers+=("$line")
    done < <(docker ps -a --filter "status=exited" --format "{{.ID}} {{.Names}}")
    
    # 显示停止的容器列表
    for i in "${!containers[@]}"; do
        echo "[$i] ${containers[$i]}"
    done
}

# 删除指定的容器
delete_containers() {
    local indexes=("$@")
    for index in "${indexes[@]}"; do
        if [[ $index =~ ^[0-9]+$ ]] && [[ $index -lt ${#containers[@]} ]]; then
            container_info=${containers[$index]}
            container_id=$(echo "$container_info" | awk '{print $1}')
            echo "Deleting container: $container_info"
            docker rm "$container_id"
        else
            echo "Invalid index: $index"
        fi
    done
}

# 主逻辑
while true; do
    list_exited_containers

    if [[ ${#containers[@]} -eq 0 ]]; then
        echo "No stopped containers to delete."
        break
    fi

    # 获取用户输入
    echo -e "\nEnter indexes of containers to delete (space-separated), or type 'all' to delete all, or 'exit' to quit:"
    read -r input

    if [[ "$input" == "exit" ]]; then
        echo "Exiting..."
        break
    elif [[ "$input" == "all" ]]; then
        # 删除所有容器
        for i in "${!containers[@]}"; do
            container_id=$(echo "${containers[$i]}" | awk '{print $1}')
            echo "Deleting container: ${containers[$i]}"
            docker rm "$container_id"
        done
        echo "All stopped containers deleted."
    else
        # 使用下标删除指定的容器
        IFS=' ' read -r -a indexes <<< "$input"
        delete_containers "${indexes[@]}"
    fi

    echo -e "\nOperation complete. Would you like to continue? (yes/no):"
    read -r continue_input
    if [[ "$continue_input" != "yes" ]]; then
        echo "Exiting..."
        break
    fi
done

赋予执行权限

chmod +x delete_containers_by_index.sh

运行脚本

./delete_containers_by_index.sh

在这里插入图片描述
输入下标,然后输入yes确认删除

0
yes

http://www.kler.cn/a/399743.html

相关文章:

  • 2024年11月16日 星期六 重新整理Go技术
  • Acrobat Pro DC 2023(pdf免费转化word)
  • 深度学习笔记14-卷积神经网络2
  • 计算机组成与原理(2) basic of computer architecture
  • shell脚本配置nginx
  • 【日常记录-Git】git log
  • 原生微信小程序做视频和图片上传wx.chooseMedia({})
  • Prometheus结合K8s(一)搭建
  • three.js 对 模型使用 视频进行贴图修改材质
  • 无人机在森林中的应用!
  • x-cmd pkg | helix - 用 Rust 打造的文本编辑器,内置 LSP 和语法高亮,兼容 Vim 用户习惯
  • 丹摩征文活动 | CogVideoX-2b实战部署:简化文字生成视频步骤
  • 根据 Maven 的不同 profiles 来改变 Spring Boot 应用程序的配置
  • 如何使用PCL处理ROS Bag文件中的点云数据并重新保存 ubuntu20.04
  • D3基础:绘制圆形、椭圆形、多边形、线、路径、矩形
  • Windows文件资源管理器增强工具
  • Mac的Terminal随机主题配置
  • 关于Redux的学习(包括Redux-toolkit中间件)
  • 服务器作业4
  • 常见的网络协议汇总(涵盖了不同的网络层次)
  • 网络安全与CTF在线学习资源网站
  • 【第5章 | 神经网络】(python机器学习)
  • node版本升级,从卸载到使用nvm管理node版本并配置vue环境(学习趟雷版)
  • 【技术解析】Dolphinscheduler实现MapReduce任务的高效管理
  • Python蓝桥杯刷题1
  • 【hacker送书第16期】Python数据分析、挖掘与可视化、AI全能助手ChatGPT职场工作效率提升技巧与案例