[Tuto] Redémarrer automatiquement un conteneur Docker avec un statut unhealthy

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 215
1 575
278
/var/run/docker.sock
[Tuto] Redémarrer automatiquement un conteneur Docker avec un statut unhealthy

Pourquoi ce tutoriel ? :giggle:
Nous allons voir comment utiliser deunhealth afin de surveiller nos conteneurs, et les redémarrer automatiquement en cas de besoin.

Dans mon cas, j'ai mi ceci en place pour un conteneur VPN, qui a parfois tendance a déconnecter. Avec deunhealth, si mon conteneur VPN passe en unhealthy, alors, il va automatiquement lancer un reboot du conteneur.

Disclamer :
Le but de ce tuto sera de rendre cette installation facile et accessible a tous, bien que loin d’être un expert, n’hésiter pas à répondre à ce sujet avec vos interrogations, .. Pour ceux qui sont plus a l'aise avec ce genre d'installation, n'hésiter pas a proposer des améliorations, ou des conseils, ...

Sommaire :
1/ Configuration du conteneur à surveiller
A/ Conteneur crée via Portainer
B/ Conteneur créé en docker-compose
2/ Création du conteneur deunhealth
A/ Via Portainer
B/ En docker-compose

Aller go :)



1/ Configuration du conteneur à surveiller
Si votre conteneur est créé depuis Portainer, alors il suffit de l’éditer :
1669673996682.png
Puis dans l’onglet "Labels", de rajouter le label comme ceci :

Name : deunhealth.restart.on.unhealthy
Value : true
1669674185203.png


Puis de re-déployer le conteneur :
1669674209795.png

A VENIR !




2/ Création du conteneur deunhealth
A VENIR !

Créer un dossier deunhealth/ est dedans un fichier docker-compose.yml, dans ce fichier, copier/coller le code suivant :
YAML:
version: "3.7"
services:
  deunhealth:
    image: qmcgaw/deunhealth
    container_name: deunhealth
    network_mode: "none"
    environment:
      - LOG_LEVEL=info
      - HEALTH_SERVER_ADDRESS=127.0.0.1:9999
      - TZ=Paris/Paris
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

Ensuite, en SSH dans le dossier deunhealth/ lancer la création du conteneur avec la commande :
Code:
docker compose up -d

Note : Si vous utilisez docker-compose v1, la commande sera : docker-compose up -d
 
Dernière édition:
  • J'aime
Réactions: moacc95