virli/tutorial/2/compose.md

37 lines
1.2 KiB
Markdown

\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.