Guide

Comment diagnostiquer un conteneur Docker qui redémarre

La première erreur de l’application est souvent masquée par une politique de restart agressive.

ThématiqueLinux →
⌚ Environ 3 min de lecture
Voir mes favoris
Linux & Docker Intermédiaire 15 min

La première erreur de l’application est souvent masquée par une politique de restart agressive.

Avant de commencer : adaptez toujours les commandes et manipulations à votre environnement. Sur un système de production, prévoyez une sauvegarde ou un retour arrière lorsque l’action peut modifier la configuration.

Étapes à suivre

  1. 1

    Lister les conteneurs

    Regardez état et Exit Code.

  2. 2

    Lire les logs

    Commencez avant les répétitions.

  3. 3

    Inspecter configuration

    Volumes, variables et healthcheck.

  4. 4

    Tester sans boucle

    Désactivez temporairement restart si nécessaire.

Commandes utiles

docker ps -a
docker logs --tail 200 CONTAINER
docker inspect CONTAINER

À retenir

  • Préservez les volumes.
  • Ne supprimez pas un conteneur avant d’avoir identifié les données persistantes.
Complément technique

Docker : distinguer boucle de redémarrage et consommation du storage driver

Repères techniques

  • docker ps --no-trunc et docker inspect montrent exit code, restart policy, mounts et configuration ; les logs de l’instance précédente restent essentiels.
  • overlay2 peut grossir à cause des couches écrites, logs json-file et images inutilisées ; volumes nommés sont une autre catégorie de données.
  • Restart=always peut transformer une erreur immédiate en boucle sans corriger la cause.

État Docker

Lire taille, logs et mounts avant tout prune.

docker ps -a --no-trunc
docker inspect <container>
docker system df -v

Pièges spécifiques

  • docker system prune -a peut supprimer des images nécessaires au prochain redéploiement.
  • Supprimer un volume pour gagner de la place peut supprimer les données persistantes de l’application.

Comment valider

  • Le conteneur reste up sur plusieurs cycles et son exit code/log ne reproduit plus l’erreur.
  • La croissance disque est attribuée à une couche/log/volume précise et une rétention est définie.

Preuves et vérifications

docker ps --no-trunc et docker inspect montrent exit code, restart policy, mounts et configuration ; les logs de l’instance précédente restent essentiels. overlay2 peut grossir à cause des couches écrites, logs json-file et images inutilisées ; volumes nommés sont une autre catégorie de données.

Contrôle de résultat

Le conteneur reste up sur plusieurs cycles et son exit code/log ne reproduit plus l’erreur. La croissance disque est attribuée à une couche/log/volume précise et une rétention est définie.

Point d’attention

docker system prune -a peut supprimer des images nécessaires au prochain redéploiement. Restart=always peut transformer une erreur immédiate en boucle sans corriger la cause.

Concepts liés

Référence primaire : Docker Docs — Restart policies.

♡ 0