Aller au contenu

Docker Compose

·1 min·
Industrialisation Docker
Sommaire
Docker - Cet article fait partie d'une série.
Partie 6: Cet article

Docker Compose permet de définir et lancer plusieurs services Docker à partir d’un seul fichier docker-compose.yml.

Il est utilisé dès qu’un projet comporte plusieurs composants :

  • API
  • base de donnĂ©es
  • Redis
  • Airflow
  • service batch
  • etc.

Exemple
#

version: "3.9"

services:
  api:
    build: .
    ports:
      - "8000:8000"
    volumes:
      - ./src:/app/src
    env_file:
      - .env
    depends_on:
      - db

  db:
    image: postgres:15
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:

RĂ´le de Compose
#

Compose orchestre :

  • services
  • rĂ©seaux (automatiquement créés)
  • volumes persistants
  • variables d’environnement
  • dĂ©pendances entre services

Chaque service s’exécute dans son propre conteneur, mais sur un réseau commun.


Commandes principales
#

# crée et démarre les conteneurs (mode détaché)
docker compose up -d

# arrête et supprime les conteneurs et le réseau
docker compose down

# construit (ou reconstruit) les images
docker compose build
  • up -d : lance l’application complète en arrière-plan.
  • down : permet de repartir d’un environnement propre (ne supprime pas les volumes sauf option --volumes).
  • build : nĂ©cessaire après modification du Dockerfile ou des dĂ©pendances.

Compose devient l’interface principale pour gérer l’application complète.


Quand utiliser Compose ?
#

  • Projet multi-services
  • Environnement local reproductible
  • Simulation proche de la production
  • Collaboration en Ă©quipe

Pour un simple conteneur isolé, docker run peut suffire. Dès que l’architecture devient structurée, Compose est recommandé.

Thibault CLEMENT - Intechnia
Auteur
Thibault CLEMENT - Intechnia
Data scientist
Docker - Cet article fait partie d'une série.
Partie 6: Cet article