diff --git a/Watchdogs/docker_watchdog.sh b/Watchdogs/docker_watchdog.sh index 4b207b9..ad8807b 100755 --- a/Watchdogs/docker_watchdog.sh +++ b/Watchdogs/docker_watchdog.sh @@ -904,9 +904,13 @@ CYCLE_START=$(date +%s) is_skipped "$container" && continue RESTART_COUNT=$(timeout "$DOCKER_TIMEOUT" docker inspect -f \ '{{.RestartCount}}' "$container" 2>/dev/null || echo 0) + EXIT_CODE=$(timeout "$DOCKER_TIMEOUT" docker inspect -f \ + '{{.State.ExitCode}}' "$container" 2>/dev/null || echo 0) PREV_COUNT=$(grep "^${container}_docker:" "$WATCHDOG_STATE_FILE" \ 2>/dev/null | cut -d: -f2 || echo 0) set_strikes "${container}_docker" "$RESTART_COUNT" "$WATCHDOG_STATE_FILE" + # Skip clean-exit containers (exit 0 = completed, not crashed) + [[ "$EXIT_CODE" == "0" ]] && continue if [[ "$RESTART_COUNT" -gt "$PREV_COUNT" && "$RESTART_COUNT" -gt 0 ]]; then ((T2_WARNINGS++)) if [[ "$RESTART_COUNT" -ge "$WATCHDOG_CRASH_LIMIT" ]]; then