Docker Compose

DevOps 🟢 Junior

Définition

Outil pour définir et orchestrer une application multi-conteneurs dans un fichier YAML (réseaux, volumes, dépendances). Depuis Compose V2, c'est un plugin du CLI Docker : on écrit « docker compose » (avec un espace) et non plus « docker-compose ». Docker a cessé de supporter Compose V1 après juin 2023 ; le champ « version: » en tête de fichier est obsolète et déclenche un avertissement.

Analogie

Le chef d'orchestre qui dit à chaque musicien (conteneur) quand jouer et comment se synchroniser.

Exemple de code

# compose.yaml (plus de champ version:)
services:
  api:
    build: .
    ports: ["3000:3000"]
    depends_on: [db]
  db:
    image: postgres:16
    volumes: ["pgdata:/var/lib/postgresql/data"]
volumes:
  pgdata: {}
# docker compose up -d   (V2 = plugin du CLI docker)

Cas d'usage

Environnement de développement local reproduisant la stack complète en une commande.

Anti-pattern

Garder un binaire docker-compose V1 (plus maintenu depuis juin 2023) ou un champ « version: '3.8' » : Compose valide toujours avec le schéma le plus récent, le champ est ignoré.
#devops#docker#interview

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre