Container Docker Crash
Diagnostiquer les containers qui crashent ou redémarrent.
Un container Docker qui crash ou redémarre en boucle est frustrant à debugger. Le container disparaßt avant que vous puissiez voir ce qui se passe. Voici comment investiguer.
SymptĂŽmes
- Container qui redémarre en boucle (restart loop)
- Status "Exited" avec un code d'erreur
- Application inaccessible aprÚs déploiement
- Logs qui s'arrĂȘtent brusquement
Causes Fréquentes
- Erreur dans le code : Une exception non gérée au démarrage tue le processus principal.
- Configuration manquante : Variable d'environnement ou fichier de config absent.
- DĂ©pendance indisponible : La BDD ou un service externe n'est pas prĂȘt au dĂ©marrage.
Ătapes de Diagnostic
- Vérifiez les logs avec docker logs [container]
- Inspectez l'état avec docker inspect [container]
- Examinez le code de sortie (exit code)
- Lancez en mode interactif pour debugger
Automatiser avec MoniTao
MoniTao détecte quand vos containers ne fonctionnent pas :
- Surveillance HTTP de l'application containerisée
- Alertes immédiates si le service ne répond plus
- Heartbeat pour les containers de jobs
Bonnes Pratiques
- Utilisez HEALTHCHECK dans votre Dockerfile
- Implémentez un wait-for-it pour les dépendances
- Configurez des restart policies appropriées
- Centralisez les logs (ELK, CloudWatch)
Questions Fréquentes
Que signifie exit code 137 ?
Le container a été tué par OOM Killer (manque de mémoire).
Exit code 1 vs exit code 0 ?
0 = succÚs, 1 = erreur générale, 137 = OOM, 143 = SIGTERM.
Comment debugger sans que le container disparaisse ?
Changez le CMD pour un sleep infinity et exec dedans.
MoniTao surveille-t-il Docker directement ?
Non, mais il surveille les services exposés par vos containers.
Liens utiles
PrĂȘt Ă dormir sur vos deux oreilles ?
Commencez gratuitement, sans carte bancaire.