Obtenez les informations de santé de vos containers en cours d'exécution
Obtenez instantanément les informations de santé de vos containers Docker. Cet article présente un script bash utilisant docker ps et docker inspect pour des vérifications rapides.
Traduction automatique
Cet article a plus d'un an, mais il a été relu le 30 juillet 2026 — son contenu est toujours exact.

Cet article partage un script Bash qui parcourt tous les containers Docker (docker container list --all) et rapporte l'état de santé de chacun via le champ State.Health de docker inspect. Vous obtenez un aperçu rapide des containers sains, en mauvaise santé, ou sans healthcheck configuré (null).
Quand vous avez quelques containers qui tournent sur votre machine, vous pouvez récupérer rapidement les informations de santé avec docker ps et sa réponse State.Health.
Dans cet article, nous allons voir comment créer un script bash qui pourra servir de base pour d'autres besoins.
La vue d'ensemble en un coup d'œil
Voici ce que j'obtiens sur ma machine, en une seule commande :

J'ai quelques containers qui tournent, beaucoup sont healthy, ce qui veut dire qu'ils fonctionnent sans problème. J'en ai deux dans un état null, c'est-à-dire qu'ils dorment, et aucun n'est arrêté à cause d'une erreur.
C'est tout l'intérêt : un seul écran, et vous savez quel container demande votre attention.
Le script qui la produit
Créez quelque part sur votre disque, dans une console Linux, un script appelé par exemple health.sh avec ce contenu :
#!/usr/bin/env bash# Intentionally no "errexit": one container's failed inspect shouldn't stop the# whole list from being checked.set -o nounset -o pipefail
GRAY=30GREEN=32RED=31
clear
printf "\e[1;33m%s\e[0m\n\n" "Docker containers - Health check"
docker container list --all --format "{{.Names}}" | while read -r name; do healthcheckStatus=$(docker inspect --format='{{json .State.Health}}' "$name" | jq -r '.Status')
# Default color COLOR=${GRAY}
if [[ "$healthcheckStatus" == "healthy" ]]; then COLOR=${GREEN} elif [[ ! "$healthcheckStatus" == "null" ]]; then COLOR=${RED} fi
printf "%-40s\e[1;${COLOR}m%s\e[0m\n" "$name" "$healthcheckStatus"doneCe script affiche la liste de tous les conteneurs Docker avec leur statut de santé respectif, colorisé selon que le conteneur est sain (vert), défaillant (rouge) ou sans vérification de santé configurée (gris). Il utilise des codes de couleur ANSI pour rendre l'output lisible et intentionnellement ne s'arrête pas si un conteneur échoue à l'inspection.
Pensez à rendre le script exécutable : chmod +x health.sh, puis lancez-le avec ./health.sh.
Obtenir la liste de tous les containers
docker container list --all --format "{{.Names}}" retourne la liste de tous les containers et n'affiche que la colonne Name dans la console.
Conclusion
Quelques lignes de Bash, et la question « est-ce que tout va toujours bien sur cette machine ? » obtient une réponse en un coup d'œil, au lieu d'un docker inspect par container. N'hésitez pas à ajuster le script selon vos besoins.
Ce script vous donne un instantané, à la demande. Si vous préférez être notifié quand un service tombe, jetez un œil à Outil de monitoring auto-hébergé. Et quand un container tourne mais reste injoignable depuis un autre, Dépannage des containers Docker - Accéder à l'autre déroule le diagnostic, couche par couche.





