virli/tutorial/2/compose.md

1.2 KiB

\newpage

Compose

Avec notre conteneur utilisant supervisor, nous ne respectons pas bien cette dernière bonne pratique d'un seul processus par conteneur :-(

L'intérêt est de permettre à chaque conteneur d'effectuer une tâche générique, de manière à pouvoir être réutilisé pour d'autres projet dans le futur. Par exemple, notre conteneur InfluxDB pourra être utilisé pour stocker des relevés de métriques systèmes ou des logs. Grafana peut également afficher davantage d'informations ou combiner les informations de plusieurs bases distinctes.

Séparer le Dockerfile

Commençons par séparer notre Dockerfile en deux : dans une partie nous allons garder la partie InfluxDB, de l'autre la partie Grafana.

Il va vous falloir créer deux dossiers distincts, il en faut un par Dockerfile.

Profitez en pour rajouter les Data Volume Container.

Automatiser le lancement

Commencez par lancer tous vos conteneurs à la main pour voir les étapes que vous allez devoir automatiser.

Au lieu de faire un script pour construire et lancer tous vos conteneurs, définissez à la racine de votre projet un fichier docker-compose.yml qui contiendra les méthodes de construction et les paramètres d'exécution.