Retour au cours

Leçon 16 : Le besoin de Docker Compose

Docker, de zéro à héros : Le cours complet sur la conteneurisation pour débutants

Leçon 16 : Le besoin de Docker Compose

Jusqu'à présent, nous avons géré des services (comme PostgreSQL, Nginx ou une application personnalisée) un par un en utilisant de longues commandes docker run, en définissant manuellement les réseaux, les volumes et les variables d'environnement.

Limites de la CLI Docker pour les Applications Multi-Services

Considérez l'exécution d'une application moderne typique : une application web, une base de données et un cache (Redis).

Gérer cette pile manuellement nécessite d'exécuter et de maintenir trois commandes distinctes et longues :

  1. docker run -d --name db ...
  2. docker run -d --name cache ...
  3. docker run -d --name web -p 80:80 --network ...

Cette approche est :

  • Source d'Erreur : Facile d'oublier un drapeau ou un paramètre réseau.
  • Difficile à Partager : Difficile d'intégrer de nouveaux membres d'équipe ; ils doivent copier/coller plusieurs commandes.
  • Difficile à Gérer : Difficile de gérer les dépendances et l'ordre de démarrage.

Introduction à Docker Compose

Docker Compose résout ces problèmes en vous permettant de définir l'ensemble de votre pile d'applications multi-conteneurs dans un seul fichier de configuration : docker-compose.yml (ou compose.yml).

Avantages de Docker Compose

  1. Déploiement en une seule commande : Démarrez ou arrêtez l'ensemble de la pile d'applications avec une seule commande (docker compose up).
  2. Découverte de Services : Compose configure automatiquement un réseau bridge personnalisé, permettant aux services de se trouver mutuellement par leur nom.
  3. Portabilité : Le fichier compose.yml définit l'environnement, le rendant 100 % portable.
  4. Configuration en tant que Code : Les paramètres d'environnement, les volumes et la mise en réseau sont contrôlés par version en même temps que le code de votre application.