自动检测docker停止后自动重启

#!/bin/bash

# 定义要监控的容器名称
CONTAINER_NAME="容器名称"

# 无限循环,持续监控容器状态
while true; do
    # 检查容器是否在运行
    if ! docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
        echo "$(date): 容器 ${CONTAINER_NAME} 没有运行. 开始重启中..." >>myscript.log

        # 尝试重新启动容器
        docker restart ${CONTAINER_NAME}

        # 检查容器是否成功启动
        if docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
            echo "$(date): 容器 ${CONTAINER_NAME} 已经重启成功." >>myscript.log
        else
            echo "$(date): 容器重启失败 ${CONTAINER_NAME}." >>myscript.log
        fi
    else
        echo "$(date):容器运行中" >>myscript.log
    fi

    # 等待一段时间再次检查
    sleep 5
done

 

posted @ 2025-02-27 10:06  龙丶谈笑风声  阅读(30)  评论(0)    收藏  举报