Étape 07 / 09 · Windows

Piloter un projet avec Docker Compose.

Un seul fichier décrit le conteneur, le port, le volume et la politique de redémarrage. Vous pouvez ensuite lancer ou arrêter l’ensemble en une action.

35 minutesDébutantInterface + commandes copiables
1. Décrirecompose.yaml
2. DémarrerCompose
3. ContrôlerDocker Desktop

Le principe

Transformer plusieurs réglages en projet reproductible

Jusqu’ici, vous avez donné les réglages à Docker dans une longue commande. Compose place ces réglages dans un fichier facile à relire, sauvegarder et relancer.

Compose lit un fichier YAML. Chaque service devient un conteneur et rejoint automatiquement le réseau privé du projet.

LisibleLa configuration reste dans un fichier texte.
ReproductibleLe même fichier recrée le même projet sur un autre PC équipé de Docker.
RéversibleLe projet peut être arrêté sans supprimer vos fichiers source.

Avant de commencer

Le vocabulaire de Compose

ProjetL’ensemble décrit par un même fichier compose.yaml.
ServiceLe rôle demandé, par exemple un serveur Web. Il crée généralement un conteneur.
YAMLUn format texte où les espaces au début des lignes indiquent la hiérarchie.
MontageLe lien entre un dossier Windows et un dossier visible dans le conteneur.
Important : dans un fichier YAML, utilisez des espaces, jamais la touche Tabulation. Un mauvais alignement peut empêcher Compose de lire le fichier.

Étape 1

Créer le dossier du projet

Dans Documents, créez OwlNet-Docker\compose-demo\site, puis placez un fichier index.html dans le sous-dossier site.

Contenu de site/index.html
<!doctype html>
<html lang="fr">
<meta charset="utf-8">
<title>OwlNet Compose</title>
<h1>Docker Compose fonctionne !</h1>
<p>Ce fichier vient de mon PC.</p>

Étape 2

Créer et comprendre compose.yaml

Enregistrez ce fichier dans compose-demo, à côté du dossier site.

compose.yaml
services:
  web:
    image: nginx:alpine
    container_name: owlnet-compose-web
    ports:
      - "127.0.0.1:8084:80"
    volumes:
      - ./site:/usr/share/nginx/html:ro
restart: unless-stopped
imageIndique le modèle logiciel à utiliser : ici Nginx léger.
portsRend le site accessible sur localhost:8084.
volumesPrésente votre dossier site à Nginx.
restartAutorise Docker à relancer le service après une interruption, sauf arrêt volontaire.
À retenir : :ro rend les fichiers accessibles en lecture seule dans le conteneur et 127.0.0.1 limite le site à votre PC.

Étape 3

Lancer et vérifier le projet

Ouvrez PowerShell dans compose-demo, puis exécutez la commande. up signifie « créer ou démarrer le projet » et -d le laisse fonctionner en arrière-plan.

Démarrer
docker compose up -d

Résultat attendu : dans Docker Desktop, un groupe Compose nommé compose-demo apparaît avec un conteneur en état Running.

Consulter les dernières lignes
docker compose logs --tail=20

Les logs sont le journal du service. Ils aident à comprendre un démarrage ou une erreur. Ouvrez ensuite http://localhost:8084. Le texte « Docker Compose fonctionne ! » doit être visible.

Si cela ne fonctionne pas

Trois erreurs fréquentes

  1. Compose ne trouve pas le fichier : vérifiez que PowerShell est ouvert dans le dossier contenant compose.yaml.
  2. Erreur YAML : contrôlez l’alignement et remplacez les tabulations par des espaces.
  3. Le port est déjà utilisé : remplacez seulement 8084 par un port libre, par exemple 8086, puis relancez.
Bonne méthode : lisez d’abord la première erreur affichée. Les lignes suivantes sont souvent seulement les conséquences de cette première erreur.

Fin du laboratoire

Arrêter proprement

Arrêter le projet
docker compose down

Cette commande retire le conteneur et le réseau du projet, mais conserve compose.yaml et le dossier site.

Validation

Quiz rapide

1. Où Compose lit-il la configuration ?

2. Quelle commande arrête proprement le projet ?

3. Que signifie 127.0.0.1 ?

Fin de l’étape

Votre premier projet Compose est reproductible.

L’étape suivante explique comment maintenir, mettre à jour et sécuriser vos projets sans perdre vos données.