tonformateur
Cloud & DevOps

Déployer une app avec docker-compose

📅 Publié le 07/05/2026·tonformateur
← Toutes les ressources

Docker Compose orchestre plusieurs conteneurs liés (application, base de données, cache) à partir d'un seul fichier YAML. C'est l'outil idéal pour passer du conteneur unique à une application multi-services.

Points clés

Sommaire
  1. Le fichier compose.yaml
  2. Réseau, volumes et persistance
  3. Variables, profils et healthchecks
  4. En pratique
  5. Questions fréquentes
  6. Pour aller plus loin

Le fichier compose.yaml

Le fichier déclare des services, chacun avec son image ou son build, ses ports, ses variables d'environnement et ses dépendances. Une commande docker compose up démarre l'ensemble en créant automatiquement un réseau partagé. On enseigne à structurer un service web + une base Postgres comme premier cas concret et réaliste.

Réseau, volumes et persistance

Compose crée un réseau par défaut où les services se joignent par leur nom (l'app contacte db comme hôte). Les volumes nommés assurent la persistance des données de la base au-delà de la vie des conteneurs. Distinguer données persistantes (volume) et conteneur jetable est une notion clé à faire passer.

Variables, profils et healthchecks

On externalise la configuration dans un fichier .env, on utilise depends_on couplé à des healthcheck pour démarrer la base avant l'app, et les profils pour activer des services optionnels. Ces mécanismes rendent le déploiement robuste et configurable sans modifier le fichier principal.

En pratique

Scénario. TP de 2 à 3 heures : écrire un compose.yaml pour une API connectée à une base Postgres et un Redis, avec volume persistant, fichier .env et healthcheck sur la base. Lancer, arrêter, recréer la stack et vérifier la persistance des données. Livrable : une application multi-services démarrable en une commande, avec données conservées après docker compose down/up.

Questions fréquentes

Docker Compose est-il fait pour la production ?

Il convient pour un seul serveur et des environnements simples. Pour la haute disponibilité et la montée en charge multi-nœuds, on passe à un orchestrateur comme Kubernetes.

Comment garder les données de la base entre deux redémarrages ?

On déclare un volume nommé monté sur le répertoire de données de la base. Le volume survit à docker compose down, contrairement au système de fichiers du conteneur.

Pour aller plus loin

Pour approfondir : Apprendre terraform pas a pas · Automatiser avec ansible. Et le reste de nos ressources pour les écoles, OF et formateurs.

Tags#DevOps#Docker#Open source

Besoin d'un formateur expert ou envie de transmettre ?

tonformateur connecte les écoles et organismes de formation avec des intervenants experts du terrain.

Voir les cours à pourvoir Explorer l'annuaire d'outils →