37 lines
1.2 KiB
Markdown
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.
|