top of page
Rechercher
Photo du rédacteurchourmovs vs

Docker compose : redémarrer votre conteneurs ou vos stacks de manière programmée depuis docker.

Docker a beau nous faciliter la vie quand il s'git de déployer et d'entretenir des applications sur vos différentes plateformes, fournir un bon niveau d'optimisation et de gestion des ressources, il n'efface pas pour autant les défauts de conceptions de certains logiciel (en particulier les serveurs) qui peuvent se "perdre" dans la gestion de la mémoire, du CPU ou des ressources réseau jusqu'à planter ou ne plus fonctionner, surtout après plusieurs jours de fonctionnements.

Dans ce cas là, c'est bien connus des informaticiens un peu expérimentés, un bon "reboot" de la machine est souvent indispensable.


C'est exactement ce que le code suivant propose, ici présenté dans sa version docker-compose


services:
  gluetun:
    image: qmcgaw/gluetun:latest
    container_name: Gluetun
....etc

  mldonkey:
    image: logicwar/mldonkey:latest
    container_name: Mldonkey

....etc

  restarter:
    image: docker:cli
    volumes: ["/var/run/docker.sock:/var/run/docker.sock"]
    command: ["/bin/sh", "-c", "while true; do sleep 36000; docker restart Gluetun && docker restart Mldonkey;done"]
    restart: unless-stopped
volumes:
  gluetun:

On le voit ce compose crée un conteneur "restarter" qui se connecte au démon Docker de la machine hôte par son socket permettant ainsi d'exécuter des commandes bash sur cette dernière.


Ici la commande bash en question exécute un classique "while true do sleep "pendant 10 heures avant de relancer les deux applications "dockerisées" Gluetun et Mldonkey.


Cela fonctionne... et ouvre de nombreuses perspectives en terme d'automatisation de taches sur des systèmes un peu "fermés" et mal documentés, via docker et un peu de bash.


En espérant vous avoir été utile.


62 vues0 commentaire

Posts récents

Voir tout

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page