Aller au contenu

docker compose - Orchestration des conteneurs sur une machine

Principes

  • Le fichier docker-compose.yml définit les ressources (services, volumes, réseaux).
  • docker compose charge 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

Resources