Étape 07 / 09 · Ubuntu

Piloter une application avec Docker Compose.

Décrivez le conteneur dans un fichier lisible, puis démarrez et arrêtez toute l’application avec une seule commande.

compose.yaml
Service web
localhost:8082
Un projet Docker Compose administré sous Ubuntu.
Repère visuel — Un projet Docker Compose administré sous Ubuntu.

Compose remplace une longue série d’options

Un fichier compose.yaml conserve le nom de l’image, les ports, les volumes et la politique de redémarrage. Vous pouvez relire cette configuration avant de l’exécuter et la partager avec une autre machine.

À retenir : Docker Compose ne remplace pas Docker. Il organise plusieurs réglages Docker dans un projet reproductible.

1. Vérifier Compose et créer le projet

La première commande doit afficher une version. Si elle échoue, revenez au module d’installation Ubuntu et installez le paquet docker-compose-plugin.

Vérification
sudo docker compose version
Dossier du laboratoire
mkdir -p ~/docker-lab/compose-site
cd ~/docker-lab/compose-site

Créez maintenant une petite page Web et sa configuration. Le port 8082 n’écoute que sur votre PC grâce à 127.0.0.1.

Page de test
printf '%s\n' '<h1>Docker Compose fonctionne !</h1>' > index.html
compose.yaml
cat > compose.yaml <<'EOF'
services:
  web:
    image: nginx:alpine
    ports:
      - "127.0.0.1:8082:80"
    volumes:
      - ./index.html:/usr/share/nginx/html/index.html:ro
    restart: unless-stopped
EOF

2. Valider, puis démarrer

config vérifie la syntaxe sans démarrer de conteneur. Ne continuez que si aucune erreur rouge n’apparaît.

Contrôle et démarrage
sudo docker compose config
sudo docker compose up -d

Ouvrez http://127.0.0.1:8082. Le titre « Docker Compose fonctionne ! » doit apparaître.

3. Contrôler l’état et les journaux

État, test et logs
sudo docker compose ps
curl http://127.0.0.1:8082
sudo docker compose logs --tail 20

La colonne d’état doit indiquer que le service est actif. Le test curl doit afficher le contenu du fichier HTML.

4. Arrêter proprement le projet

Arrêt normal
sudo docker compose down
Attention : docker compose down --volumes supprime aussi les volumes du projet. Nous n’utilisons volontairement pas cette option ici.

Quiz rapide

Quelle commande contrôle le fichier avant démarrage ?

Quelle commande arrête et retire les conteneurs du projet ?

Votre premier projet Compose est maîtrisé.

← Étape 6Étape 8 →