Cet article décrit comment est géré la commande healthcheck

Edit me

Qu’est ce qu’est l’instruction HEALTHCHECK ?

Cette instruction indique à Docker comment vérifier si votre container fonctionne toujours correctement tout au long de son utilisation.

Cette instruction est déclarée dans le fichier Dockerfile, lors de la création de l’image Docker.

Comment cette instruction est intégrée pour Voozanoo4 ?

Toutes les images Docker construites à partir de l’image Voo4Skeleton contiennent une instruction HEALTHCHECK qui va exécuter le script healthcheck depuis le container. Ce script va :

  1. lancer une commande CURL pour s’assurer que le serveur web répond.
  2. lancer une série de test standard déclarées dans le noyau Voozanoo4.
  3. lancer une série de test optionnels déclarées dans l’application.

Voo4Skeleton/Dockerfile#L83-L84

HEALTHCHECK --interval=5m --timeout=10s \
  CMD healthcheck || exit 1

Cette instruction est surchargeable depuis un Dockerfile si la commande ne correspond pas au besoin. Pour cela, il faut déclarer de nouveau l’instruction HEALTHCHECK.

Tests intégrés au noyau Voozanoo4

Le script healthcheck lance cette commande :

fwk-docker-toolkit/scripts/healthcheck/check_voo4.sh#L7

php /var/www/app/resources/cron/voo4_cli.php mtd=healthcheck

C’est un script PHP CLI, basé sur le ScriptPlayer Voo4, dont les tests sont détaillés ici:

Voozanoo4/src/resources/xml_resources/healthcheck/voozanoo4-tests.xml

Tests spécifiques d’une application Voozanoo4

Le script healthcheck lance cette commande :

fwk-docker-toolkit/scripts/healthcheck/check_voo4.sh#L9

php /var/www/app/resources/cron/voo4_cli.php mtd=healthcheck app=true

C’est un script PHP CLI, basé sur le ScriptPlayer Voo4, dont le contenu des tests sont détaillés dans un fichier optionnel (l’emplacement du fichier est spécifié ci-dessous) de l’application. Si celui-ci est absent, le script est ignoré et un message est communiqué par le biais du script healthcheck.

Pour que le fichier soit reconnu, il faut que celui soit à cet emplacement exact dans le code de l’application : resources/xml/healthcheck/voozanoo4-tests.xml.

Pour s’assurer que le fichier est correctement pris en compte, on peut lancer le script healthcheck depuis l’intérieur du container. Si le fichier est manquant, cela nous donne ce résultat :

Healthcheck without app check