#!/bin/bash # 定义容器名称 CONTAINER_A="container_a" CONTAINER_B="container_b" # 获取容器 A 的初始启动时间 INITIAL_START_TIME=$(docker inspect --format='{{.State.StartedAt}}' $CONTAINER_A) # 无限循环,持续监控容器 A 的状态 while true; do # 获取容器 A 的当前启动时间 CURRENT_START_TIME=$(docker inspect --format='{{.State.StartedAt}}' $CONTAINER_A) # 比较初始启动时间和当前启动时间 if [[ "$CURRENT_START_TIME" != "$INITIAL_START_TIME" ]]; then echo "容器 $CONTAINER_A 已重启,正在重启容器 $CONTAINER_B..." docker restart $CONTAINER_B # 更新初始启动时间为当前启动时间 INITIAL_START_TIME=$CURRENT_START_TIME fi # 每隔 5 秒检查一次 sleep 5 done