diff --git a/restart-docker.sh b/restart-docker.sh new file mode 100644 index 0000000..6128542 --- /dev/null +++ b/restart-docker.sh @@ -0,0 +1,25 @@ +#!/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 \ No newline at end of file