Sobes.tech
Middle

Quelle est la différence entre Docker Compose et Docker Swarm?

sobes.tech IA

Réponse de l'IA

Docker Compose gère plusieurs conteneurs comme un seul service sur une seule machine. Il est utilisé pour le développement, les tests et les déploiements locaux. Les fichiers de configuration sont décrits au format YAML.

Docker Swarm est un orchestrateur intégré du cluster Docker. Il permet de lancer et de gérer un cluster distribué de plusieurs machines avec Docker. Il est utilisé pour les déploiements en production, offrant évolutivité, tolérance aux pannes et équilibrage de charge.

Principales différences :

Caractéristique Docker Compose Docker Swarm
Échelle Sur une seule machine Sur plusieurs machines (cluster)
Usage Développement, test, local Production, systèmes distribués
Orchestration Non (gère plusieurs services) Oui (orchestrateur intégré)
Tolérance aux pannes Non Oui (auto-récupération des services)
Équilibrage de charge Non Oui (intégré)
Configuration des services docker-compose.yml docker stack deploy avec fichier YAML

Exemple de docker-compose.yml pour deux services (web et db) :

# docker-compose.yml
version: '3.8'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: mysecretpassword

Exemple de déploiement de la pile dans Swarm :

# Déploiement des services décrits dans le fichier YAML
docker stack deploy -c my-swarm-stack.yaml myapp