DevOpsFacile
AccueilParcours de formationCertificationsModulesCheat SheetÀ Propos
DevOpsFacile

Une plateforme d'apprentissage complète pour maîtriser les pratiques DevOps modernes, du débutant à l'expert.

contact@devopsfacile.fr

Formation

  • Parcours de formation
  • Modules

Informations

  • À Propos
  • Conditions d'utilisation
  • Confidentialité
  • Mentions légales

© 2026 DevOps Facile. Tous droits réservés.

Fait avec pour la communauté DevOps

ModulesDocker Compose et optimisation pour la production01 - Créer un docker-compose.yml de base

Détails

  • 20 minutes
  • Avancé

Objectifs

  • Déclarer plusieurs services dans un fichier docker-compose.yml
  • Configurer ports, variables d'environnement et volumes
  • Démarrer, arrêter et inspecter une stack avec les commandes compose
Module Docker Compose et optimisation pour la production

Exercice 01 : Créer un docker-compose.yml de base

🎯 Objectifs

À la fin de cet exercice, vous serez capable de :

  • ✅ Écrire un docker-compose.yml avec au moins deux services
  • ✅ Exposer un port, injecter des variables d'environnement et monter un volume
  • ✅ Démarrer la stack avec docker compose up -d
  • ✅ Vérifier l'état des services avec docker compose ps et docker compose logs
  • ✅ Arrêter proprement avec docker compose down

Durée estimée : 20 min | Difficulté : ⭐⭐⭐⭐☆


📖 Contexte

Docker Compose orchestre plusieurs conteneurs déclarés dans un seul fichier YAML. Un service = une image + sa configuration (ports, env, volumes). La CLI docker compose remplace l'ancien binaire docker-compose depuis Docker 20.10.


📋 Énoncé

Déployez une application web WordPress connectée à une base de données MySQL, entièrement définie dans un docker-compose.yml. Les données MySQL doivent persister entre les redémarrages.


🧭 Déroulement

Tâche 1 : Créer le dossier de travail

Créez un dossier wordpress-stack/ et placez-vous dedans.

Indice : mkdir wordpress-stack && cd wordpress-stack

Vérification : pwd affiche le chemin vers wordpress-stack/.


Tâche 2 : Déclarer les services

Créez docker-compose.yml avec deux services : db (MySQL 8.0) et wordpress (WordPress latest). Le service wordpress doit exposer le port 8080 sur l'hôte.

Indice : L'image MySQL attend les variables MYSQL_ROOT_PASSWORD, MYSQL_DATABASE, MYSQL_USER et MYSQL_PASSWORD. WordPress attend WORDPRESS_DB_HOST, WORDPRESS_DB_USER, WORDPRESS_DB_PASSWORD et WORDPRESS_DB_NAME.

Vérification : docker compose config ne retourne aucune erreur de syntaxe.


Tâche 3 : Ajouter un volume nommé

Déclarez un volume nommé db_data monté dans /var/lib/mysql du service db pour persister les données.

Indice : Les volumes nommés se déclarent à la fois dans la clé volumes: du service et dans la section volumes: de haut niveau du fichier.

Vérification : docker volume ls affiche wordpress-stack_db_data après le démarrage.


Tâche 4 : Démarrer et inspecter la stack

Démarrez la stack en arrière-plan, vérifiez que les deux conteneurs sont running, puis consultez les logs du service wordpress.

Indice : docker compose up -d, docker compose ps, docker compose logs wordpress.

Vérification : docker compose ps affiche les deux services avec le statut running.


🗂️ Mini-Projet

Complétez les points suivants :

  • Le fichier docker-compose.yml contient les services db et wordpress
  • Le port 8080 redirige vers WordPress (accessible dans le navigateur)
  • Le volume db_data est listé par docker volume ls
  • docker compose logs db affiche le démarrage de MySQL
  • docker compose down arrête et supprime les conteneurs sans supprimer le volume

Retour au module

Sur cette page

  • 🎯 Objectifs
  • 📖 Contexte
  • 📋 Énoncé
  • 🧭 Déroulement
  • Tâche 1 : Créer le dossier de travail
  • Tâche 2 : Déclarer les services
  • Tâche 3 : Ajouter un volume nommé
  • Tâche 4 : Démarrer et inspecter la stack
  • 🗂️ Mini-Projet