Aller au contenu principal
Dev Serein
Docker

Docker Compose — guide complet

Les commandes et configurations Docker Compose essentielles pour orchestrer des applications multi-conteneurs, gérer services, builds, réseaux, volumes, healthchecks, profils et environnements.

123commandesMis à jour le25 août 2026NiveauIntermédiaire
Toutes les cheatsheets

Premiers pas

7 commandes
CommandeDescriptionExempleRisque
docker compose versionAffiche la version de Docker Compose actuellement installée.
docker compose version
Sûr
docker compose --helpAffiche les commandes et options disponibles dans Docker Compose.
docker compose --help
Sûr
docker compose upCrée puis démarre les services définis dans le fichier Compose.
docker compose up
Sûr
docker compose up -dCrée et démarre les services en arrière-plan.
docker compose up -d
Sûr
docker compose downArrête puis supprime les conteneurs et réseaux créés par le projet Compose.
docker compose down
Attention
docker compose psAffiche les conteneurs appartenant au projet Compose ainsi que leur état.
docker compose ps
Sûr
docker compose lsListe les projets Docker Compose actuellement connus.
docker compose ls
Sûr

Démarrage

8 commandes
CommandeDescriptionExempleRisque
docker compose upDémarre l'application et affiche les logs directement dans le terminal.
docker compose up
Sûr
docker compose up -dDémarre l'application en mode détaché.
docker compose up -d
Sûr
docker compose up <service>Démarre un service précis ainsi que les dépendances nécessaires.
docker compose up api
Sûr
docker compose up --buildReconstruit les images nécessaires avant de démarrer les services.
docker compose up --build
Sûr
docker compose up --force-recreateForce la recréation des conteneurs même lorsque leur configuration et leur image n'ont pas changé.
docker compose up -d --force-recreate
Attention
docker compose up --no-depsDémarre le service demandé sans démarrer automatiquement ses dépendances.
docker compose up -d --no-deps api
Attention
docker compose up --waitAttend que les services soient running ou healthy avant de rendre la main.
docker compose up -d --wait
Sûr
docker compose startRedémarre des conteneurs Compose existants qui avaient simplement été arrêtés.
docker compose start
Sûr

Arrêt

7 commandes
CommandeDescriptionExempleRisque
docker compose stopArrête les conteneurs sans les supprimer.
docker compose stop
Sûr
docker compose stop <service>Arrête uniquement le service indiqué.
docker compose stop api
Sûr
docker compose restartRedémarre les conteneurs des services.
docker compose restart
Sûr
docker compose restart <service>Redémarre uniquement un service particulier.
docker compose restart nginx
Sûr
docker compose downArrête et supprime les conteneurs et réseaux créés par Compose.
docker compose down
Attention
docker compose down --remove-orphansSupprime également les conteneurs du projet correspondant à des services qui ne sont plus présents dans la configuration.
docker compose down --remove-orphans
Attention
docker compose down -vSupprime également les volumes nommés déclarés dans Compose et les volumes anonymes attachés aux conteneurs concernés. Les données peuvent être perdues.
docker compose down -v
Danger

Services

8 commandes
CommandeDescriptionExempleRisque
docker compose psAffiche l'état des services du projet.
docker compose ps
Sûr
docker compose ps -aAffiche également les conteneurs arrêtés du projet.
docker compose ps -a
Sûr
docker compose config --servicesAffiche les noms des services définis dans la configuration Compose résolue.
docker compose config --services
Sûr
docker compose topAffiche les processus exécutés dans les conteneurs des services.
docker compose top
Sûr
docker compose statsAffiche en temps réel l'utilisation CPU, mémoire et réseau des conteneurs Compose.
docker compose stats
Sûr
docker compose pauseSuspend temporairement les processus des services.
docker compose pause
Attention
docker compose unpauseReprend les services précédemment suspendus.
docker compose unpause
Sûr
docker compose killForce l'arrêt des conteneurs concernés.
docker compose kill api
Danger

Logs

7 commandes
CommandeDescriptionExempleRisque
docker compose logsAffiche les logs des services du projet.
docker compose logs
Sûr
docker compose logs <service>Affiche uniquement les logs d'un service.
docker compose logs api
Sûr
docker compose logs -fSuit les nouveaux logs en temps réel.
docker compose logs -f
Sûr
docker compose logs -f <service>Suit uniquement les logs du service indiqué.
docker compose logs -f api
Sûr
docker compose logs --tailAffiche uniquement les dernières lignes de logs.
docker compose logs --tail=100 api
Sûr
docker compose logs --sinceAffiche les logs produits depuis une période donnée.
docker compose logs --since=30m api
Sûr
docker compose logs --timestampsAjoute les timestamps aux lignes de logs.
docker compose logs --timestamps api
Sûr

Commandes internes

5 commandes
CommandeDescriptionExempleRisque
docker compose execExécute une commande dans le conteneur actif d'un service.
docker compose exec api node --version
Sûr
docker compose exec -itOuvre une commande interactive dans un service. Compose alloue normalement déjà un TTY lorsque cela est possible.
docker compose exec api sh
Sûr
docker compose exec -uExécute une commande avec un utilisateur spécifique.
docker compose exec -u root api sh
Attention
docker compose exec -wExécute une commande depuis un répertoire précis du conteneur.
docker compose exec -w /app api pwd
Sûr
docker compose exec -eAjoute une variable d'environnement uniquement pour la commande exécutée.
docker compose exec -e DEBUG=true api printenv DEBUG
Sûr

Commandes ponctuelles

4 commandes
CommandeDescriptionExempleRisque
docker compose runCrée un nouveau conteneur ponctuel à partir de la configuration d'un service pour exécuter une commande.
docker compose run api npm test
Sûr
docker compose run --rmSupprime automatiquement le conteneur ponctuel après son exécution.
docker compose run --rm api npm test
Sûr
docker compose run --no-depsExécute la commande sans démarrer les dépendances déclarées du service.
docker compose run --rm --no-deps api npm test
Sûr
docker compose run --service-portsActive les ports déclarés par le service pour le conteneur créé avec compose run.
docker compose run --service-ports api
Attention

Build

6 commandes
CommandeDescriptionExempleRisque
docker compose buildConstruit ou reconstruit les images des services possédant une configuration build.
docker compose build
Sûr
docker compose build <service>Reconstruit uniquement l'image d'un service particulier.
docker compose build api
Sûr
docker compose build --no-cacheReconstruit les images sans réutiliser le cache des étapes de build.
docker compose build --no-cache
Sûr
docker compose build --pullTente de récupérer les versions récentes des images utilisées pendant le build.
docker compose build --pull
Sûr
docker compose up -d --buildReconstruit les images nécessaires puis recrée et démarre les services.
docker compose up -d --build
Sûr
docker compose imagesListe les images utilisées par les conteneurs du projet Compose.
docker compose images
Sûr

Images & registry

3 commandes
CommandeDescriptionExempleRisque
docker compose pullTélécharge les images utilisées par les services.
docker compose pull
Sûr
docker compose pull <service>Télécharge uniquement l'image d'un service.
docker compose pull database
Sûr
docker compose pushPublie les images des services disposant d'un nom d'image approprié vers leur registre.
docker compose push
Attention

Validation & configuration

8 commandes
CommandeDescriptionExempleRisque
docker compose configAnalyse, fusionne, résout les variables et affiche le modèle Compose final sous une forme canonique.
docker compose config
Sûr
docker compose config -qValide la configuration sans afficher le modèle résolu.
docker compose config -q
Sûr
docker compose config --servicesAffiche uniquement les services du modèle Compose.
docker compose config --services
Sûr
docker compose config --imagesAffiche les images utilisées par la configuration.
docker compose config --images
Sûr
docker compose config --networksAffiche les réseaux présents dans le modèle résolu.
docker compose config --networks
Sûr
docker compose config --profilesAffiche les profils déclarés dans la configuration.
docker compose config --profiles
Sûr
docker compose config --environmentAffiche l'environnement utilisé par Compose pour effectuer l'interpolation des variables.
docker compose config --environment
Sûr
docker compose config --format jsonAffiche le modèle Compose résolu au format JSON.
docker compose config --format json
Sûr

Fichiers Compose

4 commandes
CommandeDescriptionExempleRisque
docker compose -fUtilise explicitement un fichier Compose particulier.
docker compose -f compose.prod.yaml up -d
Sûr
docker compose -f ... -f ...Combine plusieurs fichiers Compose. Les fichiers suivants modifient ou complètent le modèle précédent selon les règles de fusion.
docker compose -f compose.yaml -f compose.prod.yaml up -d
Attention
docker compose --project-directoryDéfinit explicitement le répertoire du projet utilisé par Compose.
docker compose --project-directory ./app up -d
Sûr
docker compose -pDéfinit explicitement le nom du projet Compose.
docker compose -p mon-projet up -d
Sûr

Variables d'environnement

5 commandes
CommandeDescriptionExempleRisque
docker compose --env-fileUtilise un fichier d'environnement alternatif pour l'interpolation Compose.
docker compose --env-file .env.production up -d
Attention
docker compose config --environmentPermet de vérifier les valeurs disponibles pour l'interpolation du fichier Compose.
docker compose config --environment
Sûr
${VARIABLE}Référence une variable utilisée lors de l'interpolation de la configuration Compose.
image: "mon-app:${APP_VERSION}"
Sûr
${VARIABLE:-default}Utilise une valeur par défaut lorsque la variable est absente ou vide.
ports: ["${APP_PORT:-8080}:80"]
Sûr
${VARIABLE:?message}Force Compose à échouer si une variable obligatoire n'est pas définie ou est vide.
password: "${DB_PASSWORD:?DB_PASSWORD obligatoire}"
Sûr

Volumes

5 commandes
CommandeDescriptionExempleRisque
docker compose volumesLes volumes nommés sont déclarés dans la section top-level volumes du fichier Compose.
volumes:
  postgres-data:
Sûr
volume nomméMonte un volume géré par Docker dans un service afin de conserver les données indépendamment du conteneur.
volumes:
  - postgres-data:/var/lib/postgresql/data
Sûr
bind mountMonte directement un fichier ou dossier de la machine hôte dans le conteneur.
volumes:
  - ./src:/app/src
Attention
volume read-onlyMonte une ressource en lecture seule dans le conteneur.
volumes:
  - ./config:/app/config:ro
Sûr
docker compose down -vSupprime les volumes associés concernés lors de la destruction du projet. Les données persistantes peuvent être définitivement perdues.
docker compose down -v
Danger

Réseaux

4 commandes
CommandeDescriptionExempleRisque
réseau par défautLorsque plusieurs services appartiennent au même projet Compose, ils peuvent généralement communiquer sur le réseau par défaut en utilisant leur nom de service.
DATABASE_HOST=db
Sûr
networksDéclare explicitement les réseaux utilisés par un service.
networks:
  - backend
Sûr
réseau interneDéclare un réseau avec internal afin de créer un réseau extérieurement isolé selon le comportement du moteur.
networks:
  backend:
    internal: true
Sûr
réseau externeIndique que le réseau est géré en dehors du cycle de vie du projet Compose.
networks:
  proxy:
    external: true
Attention

Dépendances

4 commandes
CommandeDescriptionExempleRisque
depends_onDéclare des dépendances entre services et permet à Compose d'organiser leur création et leur arrêt.
depends_on:
  - db
Sûr
condition: service_startedConsidère la dépendance satisfaite lorsque le service dépendant a été démarré.
condition: service_started
Sûr
condition: service_healthyAttend que le healthcheck de la dépendance soit considéré comme healthy avant de démarrer le service dépendant.
condition: service_healthy
Sûr
condition: service_completed_successfullyAttend qu'un service ponctuel se termine avec succès avant de considérer la dépendance comme satisfaite.
condition: service_completed_successfully
Sûr

Healthchecks

5 commandes
CommandeDescriptionExempleRisque
healthcheck.testDéfinit la commande utilisée pour déterminer si le service fonctionne correctement.
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
Sûr
healthcheck.intervalDéfinit le délai entre deux vérifications de santé.
interval: 10s
Sûr
healthcheck.timeoutDéfinit la durée maximale autorisée pour une vérification.
timeout: 5s
Sûr
healthcheck.retriesDéfinit le nombre d'échecs nécessaires avant de considérer le conteneur unhealthy.
retries: 5
Sûr
healthcheck.start_periodAccorde au service une période initiale avant que certains échecs de healthcheck soient comptabilisés normalement.
start_period: 20s
Sûr

Profiles

5 commandes
CommandeDescriptionExempleRisque
profilesAssocie un service à un ou plusieurs profils afin qu'il ne soit activé que dans certains scénarios.
profiles: ["debug"]
Sûr
docker compose --profileActive un profil particulier pour la commande Compose.
docker compose --profile debug up -d
Sûr
plusieurs profilesPlusieurs profils peuvent être activés simultanément.
docker compose --profile frontend --profile debug up
Sûr
COMPOSE_PROFILESPermet d'activer les profils depuis une variable d'environnement.
COMPOSE_PROFILES=debug,tools docker compose up
Sûr
tous les profilesActive tous les profils déclarés.
docker compose --profile "*" up
Sûr

Compose Watch

8 commandes
CommandeDescriptionExempleRisque
docker compose watchSurveille les fichiers configurés dans develop.watch et synchronise, reconstruit ou redémarre les services selon les règles définies.
docker compose watch
Sûr
docker compose up --watchDémarre l'application puis active directement le mode Watch.
docker compose up --watch
Sûr
action: syncSynchronise les fichiers modifiés vers le système de fichiers du conteneur.
action: sync
Sûr
action: rebuildReconstruit l'image et recrée le service lorsqu'un fichier surveillé change.
action: rebuild
Sûr
action: restartRedémarre le conteneur lorsqu'un changement correspondant à la règle est détecté.
action: restart
Sûr
action: sync+restartSynchronise les fichiers modifiés puis redémarre le service.
action: sync+restart
Sûr
action: sync+execSynchronise les fichiers puis exécute une commande définie dans la règle Watch.
action: sync+exec
Sûr
initial_syncDemande à Compose de vérifier la synchronisation initiale des fichiers au démarrage d'une session Watch.
initial_sync: true
Sûr

Scaling

3 commandes
CommandeDescriptionExempleRisque
docker compose up --scaleDémarre plusieurs conteneurs pour un service donné.
docker compose up -d --scale worker=3
Sûr
docker compose scaleModifie le nombre de conteneurs exécutés pour un ou plusieurs services.
docker compose scale worker=3
Sûr
attention aux portsUn service répliqué ne peut pas publier plusieurs fois le même port fixe de l'hôte. Adapter la stratégie réseau ou de publication.
docker compose up -d --scale worker=3
Attention

Copie de fichiers

2 commandes
CommandeDescriptionExempleRisque
docker compose cp depuis serviceCopie un fichier depuis le conteneur d'un service vers la machine locale.
docker compose cp api:/app/log.txt ./log.txt
Sûr
docker compose cp vers serviceCopie un fichier local vers le conteneur d'un service.
docker compose cp ./config.json api:/app/config.json
Attention

Compose modulaire

3 commandes
CommandeDescriptionExempleRisque
includeIntègre un autre fichier Compose dans l'application courante afin de modulariser les configurations complexes.
include:
  - ./infra/compose.yaml
Sûr
plusieurs includesPermet de charger plusieurs sous-configurations Compose.
include:
  - ./database/compose.yaml
  - ./monitoring/compose.yaml
Sûr
include.pathLa syntaxe longue permet de préciser explicitement les fichiers à inclure et d'autres paramètres associés.
include:
  - path:
      - ./infra/compose.yaml
Sûr

Diagnostic

8 commandes
CommandeDescriptionExempleRisque
docker compose config -qPremière commande à utiliser pour vérifier rapidement que la configuration Compose est valide.
docker compose config -q
Sûr
docker compose configAffiche la configuration réellement interprétée après interpolation et fusion des fichiers.
docker compose config
Sûr
docker compose ps -aPermet de vérifier si un service s'est arrêté et d'observer son état.
docker compose ps -a
Sûr
docker compose logsPermet d'identifier les erreurs produites au démarrage ou pendant l'exécution.
docker compose logs --tail=100 api
Sûr
docker compose execPermet d'inspecter directement l'environnement interne d'un service actif.
docker compose exec api sh
Sûr
docker compose topVérifie les processus réellement exécutés dans les conteneurs.
docker compose top
Sûr
docker compose statsPermet de détecter une consommation excessive de CPU ou de mémoire.
docker compose stats
Sûr
docker compose config --environmentAide à diagnostiquer les problèmes d'interpolation de variables d'environnement.
docker compose config --environment
Sûr

À manipuler avec prudence

4 commandes
CommandeDescriptionExempleRisque
docker compose down -vDétruit les conteneurs et supprime également les volumes concernés. Une base de données locale persistée dans un volume peut être définitivement supprimée.
docker compose down -v
Danger
docker compose killForce l'arrêt des conteneurs sans suivre le processus normal d'arrêt.
docker compose kill api
Danger
docker compose rm -fSupprime les conteneurs de services arrêtés sans demander de confirmation.
docker compose rm -f
Danger
docker compose up --force-recreateRecrée les conteneurs même lorsqu'aucune modification n'est détectée. Vérifier l'impact sur les services avant utilisation.
docker compose up -d --force-recreate
Attention
SUPER CALCULATEUR / CONNEXION ÉTABLIE

UN PASSAGE SECRET DANS DEV SEREIN

Bienvenue sur
Code Lyoko.

Le monde virtuel n’était qu’à quelques lettres.
Jérémie a ouvert la connexion. À toi de jouer.

Des arbres infinis, des chemins suspendus. Garde un œil sur la mer numérique.

LYOKO-GUERRIERS

Aelita · Yumi · Ulrich · Odd

SCAN DU TERRITOIREFORÊT / 01

ALERTE XANA · TOUR ACTIVÉE

On compte sur toi, Aelita.