Docker Compose
Maîtriser une équipe de conteneurs comme un chef d’orchestre !
Notions théoriques
Docker offre 3 méthodes pour créer des conteneurs :
- utiliser une image existante,
- ou construire votre propre image avec un Dockerfile,
- ou utiliser Docker Compose pour des applications complexes.

Docker Compose permet de diriger plusieurs conteneurs comme une équipe, avec un seul fichier.
Ce fichier, appelé docker-compose.yml, est écrit en YAML (un format simple, comme une liste claire).
Dedans, tu dis qui fait quoi, comment ils se parlent, et où ils stockent leurs données.
Voici les bases :
- Services : Ce sont tes conteneurs.
Par exemple, un service pour ton appli Web, un autre pour ta base de données.
- Réseaux : Ils connectent tes services pour qu’ils puissent discuter.
Docker Compose crée un réseau automatiquement, par défaut.
- Volumes : C’est comme une boîte où tes conteneurs stockent des données pour ne pas les perdre s’ils s’arrêtent.
- Ports : Ils ouvrent des portes entre ton ordi et les conteneurs, pour que tu puisses voir ton site Web, par exemple.
Pour tout lancer, tu tapes docker-compose up et tes services démarrent ensemble !
Pour tout arrêter et nettoyer, docker-compose down fait le job.
Tu peux même ajouter des options, comme dire qui démarre en premier avec depends_on, ou mettre des mots de passe avec environment.
En résumé, Docker Compose, c’est un chef d’orchestre pour une symphonie de conteneurs !
Exemple pratique
On va créer un petit duo : un site Web et une base de données.
Voici un fichier docker-compose.yml simple :
version: '3'
services:
web:
image: nginx:latest
ports:
- "8080:80"
database:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: secret
Que se passe-t-il ?
version: '3': C’est la version du fichier, comme un numéro de mise à jour.web: On utilise l’imagenginx(un serveur Web) et on connecte le port 8080 de ton ordi au port 80 du conteneur.database: On prendmysql:5.7et on met un mot de passe root (secret).
Pour voir ça en action, sauvegarde ce fichier, ouvre un terminal dans le même dossier, et tape docker-compose up.
Tu verras les 2 conteneurs se lancer.
Va sur http://localhost:8080, et tu devrais voir la page par défaut de Nginx.
Pour tout arrêter, fais CTRL + C ou docker-compose down.