当前位置:论坛首页 > Linux面板 > 建议

【已完成】监控并自动重启除指定Docker容器外的其他容器...

发表在 Linux面板2023-10-11 10:33 [复制链接] 0 1278

本帖最后由 堡塔运维小林 于 2023-10-11 10:37 编辑

以下是一个监控并自动重启除指定Docker容器外的其他容器的Linux Shell脚本,您可以根据实际情况进行调整:
  1. #!/bin/bash

  2. # 定义需要排除的Docker容器名称
  3. excluded_container_name="your-excluded-container-name"

  4. # 获取正在运行的所有Docker容器名称
  5. containers=$(docker ps -a --format '{{.Names}}')

  6. # 循环检查所有容器是否正在运行
  7. for container_name in $containers
  8. do
  9.     # 如果容器名称不等于需要排除的容器名称
  10.     if [ "$container_name" != "$excluded_container_name" ]; then
  11.         # 检查容器是否正在运行
  12.         if [ "$(docker ps -q -f name=$container_name)" ]; then
  13.             echo "[INFO] $container_name is running."
  14.         else
  15.             echo "[WARNING] $container_name is not running. Restarting..."
  16.             # 如果容器停止,则使用Docker启动容器
  17.             docker start $container_name
  18.         fi
  19.     fi
  20. done
复制代码
上述脚本首先定义了需要排除的Docker容器名称,然后通过docker ps命令获取所有正在运行的Docker容器名称。接着,循环检查每个容器是否正在运行,如果容器名称不等于需要排除的容器名称,则使用docker ps命令检查容器是否正在运行。如果容器正在运行,则输出信息表示一切正常;如果容器停止,则输出警告信息并使用docker start命令重启该容器。
注意:在使用该脚本前,请确保您的Linux服务器已经安装了Docker并启动了Docker服务。另外,您需要将your-excluded-container-name替换为您要排除的Docker容器名称

使用道具 举报 只看该作者 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表