19 lines
562 B
Bash
Executable File
19 lines
562 B
Bash
Executable File
#!/bin/bash
|
|
# 等待某个容器完全启动(支持健康检查)
|
|
CONTAINER_NAME="xiaoya" # 替换为你的容器名
|
|
MAX_RETRIES=30
|
|
SLEEP_TIME=5
|
|
|
|
for i in $(seq 1 $MAX_RETRIES); do
|
|
if docker inspect --format '{{.State.Running}}' $CONTAINER_NAME 2>/dev/null | grep -q "true"; then
|
|
echo "[INFO] Container $CONTAINER_NAME is running."
|
|
sleep 30
|
|
exit 0
|
|
fi
|
|
echo "[WAIT] Container $CONTAINER_NAME not ready ($i/$MAX_RETRIES)..."
|
|
sleep $SLEEP_TIME
|
|
done
|
|
|
|
echo "[ERROR] Timeout: Container $CONTAINER_NAME did not start!"
|
|
exit 1
|