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

news/2024/11/19 12:59:13/
vi  delete_exited_containers.sh
#!/bin/bash# 列出所有停止的容器并存储到数组
list_exited_containers() {echo -e "\nStopped containers:"containers=()# 获取停止的容器信息并存入数组while IFS= read -r line; docontainers+=("$line")done < <(docker ps -a --filter "status=exited" --format "{{.ID}} {{.Names}}")# 显示停止的容器列表for i in "${!containers[@]}"; doecho "[$i] ${containers[$i]}"done
}# 删除指定的容器
delete_containers() {local indexes=("$@")for index in "${indexes[@]}"; doif [[ $index =~ ^[0-9]+$ ]] && [[ $index -lt ${#containers[@]} ]]; thencontainer_info=${containers[$index]}container_id=$(echo "$container_info" | awk '{print $1}')echo "Deleting container: $container_info"docker rm "$container_id"elseecho "Invalid index: $index"fidone
}# 主逻辑
while true; dolist_exited_containersif [[ ${#containers[@]} -eq 0 ]]; thenecho "No stopped containers to delete."breakfi# 获取用户输入echo -e "\nEnter indexes of containers to delete (space-separated), or type 'all' to delete all, or 'exit' to quit:"read -r inputif [[ "$input" == "exit" ]]; thenecho "Exiting..."breakelif [[ "$input" == "all" ]]; then# 删除所有容器for i in "${!containers[@]}"; docontainer_id=$(echo "${containers[$i]}" | awk '{print $1}')echo "Deleting container: ${containers[$i]}"docker rm "$container_id"doneecho "All stopped containers deleted."else# 使用下标删除指定的容器IFS=' ' read -r -a indexes <<< "$input"delete_containers "${indexes[@]}"fiecho -e "\nOperation complete. Would you like to continue? (yes/no):"read -r continue_inputif [[ "$continue_input" != "yes" ]]; thenecho "Exiting..."breakfi
done

赋予执行权限

chmod +x delete_containers_by_index.sh

运行脚本

./delete_containers_by_index.sh

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

0
yes

http://www.ppmy.cn/news/1548238.html

相关文章

31-Shard Allocation Awareness(机架感知)

同一机器上&#xff0c;部署多个es节点&#xff0c;防止副本和主分片分配到同一机器上 例如&#xff1a;es节点a、b、c部署在01机器上&#xff0c;节点d、e、f部署在02机器上 es2.4版本配置 a、b、c节点yaml配置&#xff1a;node.rack: aaa d、e、f节点yaml配置&#xff1a…

FlutterCacheManager组件的用法

文章目录 1. 概念介绍2. 使用方法2.1 调用接口2.2 管理缓冲3. 示例代码4. 内容总结我们在上一章回中介绍了"CachedNetworkImage组件"相关的内容,本章回中将介绍FlutterCacheManager组件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的内容…

【数据结构】`unordered_map` 和 `unordered_set` 的底层原理

unordered_map 和 unordered_set 是 C 标准库中的两个容器&#xff0c;它们被广泛应用于需要快速查找的场景中。它们的查找、插入和删除的平均时间复杂度都是 O(1)&#xff0c;这也是它们的一个重要特性。本文将详细介绍 unordered_map 和 unordered_set 的底层原理&#xff0c…

QT QLabel双击事件

新建类&#xff1a; DoubleClickLabel .h #pragma once#include <QLabel>class DoubleClickLabel : public QLabel {Q_OBJECTpublic:DoubleClickLabel(QWidget *parent);~DoubleClickLabel(); signals:void doubleClicked();protected: //这里重写双击事件virtual v…

学习rust语言宏之macro_rules!

学习rust语言&#xff0c;必然不可避免要了解和熟悉宏。rust语言的宏功能非常强大&#xff0c;通过合理的编写利用宏&#xff0c;可以简化程序代码&#xff0c;也少写很多代码。今天我们先从宏的基本编写方法macro_rules开始&#xff1a; 1&#xff0c;格式 macro_rules! $na…

[C++]:C++11(一)

1. 统一列表初始化 1.1 C11 之前的初始化方式 在 C11 标准中&#xff0c;引入了一个非常实用且强大的特性——统一列表初始化&#xff08;Uniform Initialization&#xff09;&#xff0c;它为我们在初始化各种类型的对象时提供了一种统一且方便的语法形式&#xff0c;极大地…

基于 AI 智能名片 2 + 1 链动模式商城小程序的立体连接营销策略研究

摘要&#xff1a;本文围绕立体连接中线下连通社群这一环节展开&#xff0c;阐述其具体做法及意义&#xff0c;并深入探讨如何将 AI 智能名片 2 1 链动模式商城小程序融入其中&#xff0c;以优化立体连接营销策略&#xff0c;提升营销效果。 一、引言 在当今复杂多变的市场环境…

WebRTC实现双端音视频聊天(Vue3 + SpringBoot)

目录 概述 相关概念 双端连接整体实现步骤概述 文章代码实现注意点 STUN和TURN服务器的搭建 开发过程描述 后端开发流程 前端开发流程 效果演示 Gitee源码地址 概述 文章描述使用WebRTC技术实现一对一音视频通话。 由于设备摄像头限制&#xff08;一台电脑作测试无法…