Dans vos fichiers docker-compose, il est utile d'avoir un bloc de configuration healthcheck pour faire connaître l'état du service à votre démon Docker. Traefik dispose de son système d'état de vie, sans avoir recours à un Dockerfile pour intégrer soi-même son système.

Une modification est à apporter dans le fichier de configuration traefik.yml, ajoutez ces lignes :

entryPoints:
# ...
  ping:
    address: ":8082"

ping:
  entryPoint: "ping"

Dans le fichier docker-compose, ajoutez ce bloc dans le service traefik :

services:
  traefik:
  #...
    healthcheck:
      test: ["CMD", "traefik", "healthcheck", "--ping"]
      interval: 10s
      timeout: 5s
      retries: 3

L'attribut --ping correspond à l'entrypoint que vous avez saisi plus haut. Recréez les conteneurs via un docker compose up -d. Désormais, via la commande docker compose ps, vous devriez voir l'état du conteneur Traefik dans la forme "Up xx (healthy)".

Partager l'article