Forum des NAS

Tous les fabricants de NAS réunis sur un forum unique : Asustor, Qnap, Synology...

Les tutoriaux rédigés par les membres
#103157
[Tuto] Redémarrer automatiquement un conteneur Docker avec un statut unhealthy

Bonjour,
Nous allons voir comment utiliser docker-autoheal 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 docker-autoheal, si mon conteneur VPN passe en unhealthy, alors, il va automatiquement lancer un reboot du conteneur.

Sommaire :
1/ Configuration du conteneur à surveiller
____ a/ Conteneur crée via Portainer
____ b/ Conteneur créé en docker-compose
2/ Création du conteneur healcheck
____ a/ Via docker run :
____ b/ Via docker-compose :

C'est parti ! :bounce:

1/ Configuration du conteneur à surveiller
Sur votre conteneur à surveiller, qui devra bien sur être déja equipé d'un healcheck, vous allez devoir rajouter le label "autoheal=true"
a/ Conteneur crée via Portainer
Si votre conteneur est créé depuis Portainer, alors il suffit de l'editer :
Image
Puis dans l'onget Labels, de rajouter le label comme ceci :
Image
Puis de re-déployer le conteneur :
Image

b/ Conteneur créé en docker-compose
Si votre conteneur est créé depuis docker-compose, il vous suffit d'éditer votre fichier .yml pour y rajouter le label, comme ceci :

Code : Tout sélectionner
    labels:
      - autoheal=true
Image

2/ Création du conteneur healcheck
a/ Via docker run :

Connecter vous en SSH, et exécuter cette commande pour créer le conteneur :

Code : Tout sélectionner
sudo docker run -d \
    --name autoheal \
    --restart=always \
    -e AUTOHEAL_CONTAINER_LABEL=all \
    -v /var/run/docker.sock:/var/run/docker.sock \
    willfarrell/autoheal
b/ Via docker-compose :
Code : Tout sélectionner
version: '3.3'
services:
    autoheal:
        container_name: autoheal
        restart: always
        environment:
            - AUTOHEAL_CONTAINER_LABEL=all
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
            - /etc/localtime:/etc/localtime:ro
        image: willfarrell/autoheal
        network_mode: none

A partir de maintenant, autoheal va surveiller tous vos conteneurs auquel vous avez rajouté le label "autoheal=true" et les redémarrer au besoin.

Wireguard n'est effectivement pas compatible avec […]

surveillance center plugin

Bon j'ai trouvé d'ou vient le problè[…]

Bonjour, J'essaie actuellement d'accéder &[…]

HBS3 file backups

je confirme que tout est OK depuis que j'ai format[…]

Site hébergé sur un serveur IKOULA

Ikoula