docker compose - Orchestration des conteneurs sur une machine¶
Principes¶
- Le fichier
docker-compose.ymldéfinit les ressources (services, volumes, réseaux). docker composecharge ce fichier et assure la création et le démarrage des ressources en une seule commande.
Quelques commandes utiles¶
| Commande | Description |
|---|---|
docker compose up |
Démarrer tous les services |
docker compose up -d |
Démarrer l'ensemble des services en mode détaché |
docker compose up site |
Démarrer le service site |
docker compose up -d --scale site=2 |
Démarrer deux instances du service site |
docker compose run mon-service /bin/bash |
Démarrer un service avec une commande particulière |
docker compose exec mon-service /bin/bash |
Démarrer un programme dans un conteneur existant (simule connexion SSH) |
Partage de réseau entre plusieurs stacks¶
En l'absence de spécification, docker compose définit un réseau spécifique chaque stack démarrée à l'aide de docker compose up. Il est toutefois possible de partager un même réseau en procédant comme suit :
- Créer un réseau partagé en amont du démarrage des stacks (ex :
docker network create devbox) - Définir ce réseau comme étant le réseau par défaut des stacks dans
docker compose.yaml:
networks:
default:
external:
name: devbox