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