Middle
¿Cuál es la diferencia entre Docker Compose y Docker Swarm?
sobes.tech AI
Respuesta de la IA
Docker Compose gestiona varios contenedores como un solo servicio en una única máquina. Se utiliza para desarrollo, pruebas y despliegues locales. Los archivos de configuración se describen en formato YAML.
Docker Swarm es un orquestador integrado del clúster de Docker. Permite ejecutar y gestionar un clúster distribuido de varias máquinas con Docker. Se usa para despliegues en producción, proporcionando escalabilidad, tolerancia a fallos y balanceo de carga.
Diferencias principales:
| Característica | Docker Compose | Docker Swarm |
|---|---|---|
| Escalabilidad | En una sola máquina | En múltiples máquinas (clúster) |
| Propósito | Desarrollo, pruebas, local | Producción, sistemas distribuidos |
| Orquestación | No (gestiona varios servicios) | Sí (orquestador incorporado) |
| Tolerancia a fallos | No | Sí (auto-recuperación de servicios) |
| Balanceo de carga | No | Sí (integrado) |
| Configuración de servicios | docker-compose.yml |
docker stack deploy con archivo YAML |
Ejemplo de docker-compose.yml para dos servicios (web y db):
# docker-compose.yml
version: '3.8'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: mysecretpassword
Ejemplo de despliegue de la pila en Swarm:
# Despliegue de servicios descritos en el archivo YAML
docker stack deploy -c my-swarm-stack.yaml myapp