Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| sysadmin:docker:docker-compose [2021/02/04 23:14] – créée yoann | sysadmin:docker:docker-compose [2022/04/14 13:09] (Version actuelle) – Ajout d'une référence yoann | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ====== docker-compose ====== | ====== docker-compose ====== | ||
| - | docker-compose fait parti d'un ensemble d' | + | docker-compose fait parti d'un ensemble d' |
| * docker engine: le moteur docker | * docker engine: le moteur docker | ||
| * docker machine | * docker machine | ||
| * docker swarm | * docker swarm | ||
| - | docker-compose est un orchestrateur. Lancer un nombre important de conteneurs n'est pas forcément simple: | + | docker-compose est un orchestrateur. Lancer un nombre important de conteneurs n'est pas forcément simple. Il faut: |
| - | * coordonner | + | * Coordonner |
| - | * gérer | + | * Gérer |
| docker-compose orchestre/ | docker-compose orchestre/ | ||
| - | docker-compose est paramétré via un simple | + | docker-compose est paramétré via un fichier |
| ===== Installation ===== | ===== Installation ===== | ||
| Ligne 46: | Ligne 46: | ||
| </ | </ | ||
| - | docker-compose | + | ===== Variables ===== |
| + | |||
| + | Le docker-compose.yml peut comporter des variables qui seront résolues en fonction des valeurs définies dans l' | ||
| + | |||
| + | <file txt .env> | ||
| + | COMPOSE_PROJECT_NAME=test | ||
| + | HOSTNAME=localhost | ||
| + | </ | ||
| + | |||
| + | Dans cet exemple deux variables sont définies, on récupère leur valeur au sein du fichier docker-compose.yml | ||
| + | < | ||
| + | ${HOSTNAME} | ||
| + | </ | ||
| + | |||
| + | Pour chaque service, on peut redéfinir le fichier contenant les variables d' | ||
| + | < | ||
| + | services: | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | ===== Éléments de syntaxe ===== | ||
| + | |||
| + | <note warning> | ||
| + | Le fichier docker compose est introduit par un numéro de version majeur (il est également précisé dans la documentation officielle de préciser la version mineure) les mots clés utilisés/ | ||
| + | </ | ||
| + | |||
| + | ==== Directive environnement ==== | ||
| + | |||
| + | https:// | ||
| + | |||
| + | |||
| + | ===== Vérifier la syntaxe ===== | ||
| + | |||
| + | Après toute modification du fichier, la syntaxe et la complétions des variables du fichier docker-compose.yml peuvent | ||
| <code bash> | <code bash> | ||
| + | docker-compose config | ||
| + | </ | ||
| + | La commande retourne sur la sortie standard les valeurs définies dans le fichier: les variables utilisés dans le fichier sont expansées. | ||
| + | |||
| + | |||
| + | ===== Scaling ===== | ||
| + | |||
| + | docker-compose permet le passage à l’échelle (scaling) via l' | ||
| + | |||
| + | <code bash> | ||
| # lance 3 instances du service srv_name | # lance 3 instances du service srv_name | ||
| - | docker-compose scale srv_name=3 | + | docker-compose |
| </ | </ | ||
| + | |||
| + | |||
| + | < | ||
| + | Chaque conteneur doit avoir un nom unique. Le passage à l' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Références ===== | ||
| + | |||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||