Durant l’été dernier, Myrtille (oui, on a des noms d’agents secrets) vient me demander mon aide : « pour mon projet Symfony, j’ai besoin de gérer des scripts et cron avec Supervisor dans une image Docker php-apache, l’exécution du script fonctionne bien, mais le serveur web est en 404... », voilà comment s’engage une visio, ainsi que l’idée de cet article : comment utiliser Supervisor dans la vie d’un conteneur Docker.
Supervisor est un outil de gestion de processus, codé en Python, ayant pour objectif de rendre simples la configuration de processus et leur gestion dans un environnement Linux. Parmi les éléments intéressants : chaque processus est lié en tant qu’enfant à Supervisor, une centralisation des logs, chaque processus peut avoir un user/group dédié.
Pour fonctionner, Supervisor s’appuie essentiellement sur deux éléments :
- supervisord : le serveur en charge de piloter les processus ;
- supervisorctl : un terminal conçu pour faciliter la gestion de supervisord, il est possible de le lier à plusieurs supervisord en mode socket ou par URL.
Il existe aussi un web server qui permet d’avoir une interface internet et évite de nous connecter en SSH.
1. Découverte de Supervisor
1.1 Installation
L…
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première