Conteneur Docker qui redémarre en boucle : trouver la cause
Un conteneur en « Restarting » permanent ? Lire les journaux, le code de sortie et les health checks pour identifier la cause avant de toucher à la configuration.
1. Code de sortie et nombre de redémarrages
Le code de sortie oriente le diagnostic : 137 signale souvent un manque de mémoire (OOM), 1 une erreur applicative, 127 une commande introuvable.
docker ps -a
docker inspect --format '{{.State.ExitCode}} {{.RestartCount}} {{.State.OOMKilled}}' web-prod2. Les journaux juste avant l’arrêt
Les dernières lignes avant chaque arrêt contiennent presque toujours la cause : variable d’environnement manquante, base injoignable, port occupé.
docker logs --tail 100 web-prod3. Mémoire et dépendances
Vérifiez la mémoire disponible sur l’hôte et l’état des services dont dépend le conteneur (base de données, cache).
free -m
docker compose ps