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

  1. Vérifiez les logs avec docker logs [container]
  2. Inspectez l'état avec docker inspect [container]
  3. Examinez le code de sortie (exit code)
  4. 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.

PrĂȘt Ă  dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.