shell 实现容器状态监听

代码

点击查看代码
#!/bin/bash

# 设置容器名称
CONTAINER_NAME="test_containner"

# 检查容器是否在运行
check_container() {
  docker inspect -f '{{.State.Running}}' "$CONTAINER_NAME" 2>/dev/null
}

# 重启容器
restart_container() {
  echo "容器 ${CONTAINER_NAME} 异常,正在尝试重启..."
  docker restart "$CONTAINER_NAME"
}

# 主循环
while true; do
  # 获取容器状态
  STATE=$(check_container)

  if [ "$STATE" != "true" ]; then
    # 容器不在运行状态,尝试重启
    restart_container
  else
    echo "容器 ${CONTAINER_NAME} 运行正常。"
  fi

  # 每隔60秒检查一次
  sleep 60
done

执行命令

# 添加执行权限
chmod +x monitor_container.sh

# 运行脚本:
./monitor_container.sh

解释

脚本会无限循环检查指定容器的状态,如果容器不在运行状态,它会尝试重启该容器。脚本每隔60秒检查一次

posted @ 2024-08-21 16:14  EXIORAN  阅读(4)  评论(0)    收藏  举报