Title: Introducción a Docker Swarm
Course: 2025 - LISI - Virtualizacion 2-2 > Section: Desarrollo y Orquestación con Docker

🧱 Tema: Introducción a Docker Swarm

🎯 Objetivo

Comprender el funcionamiento de Docker Swarm como herramienta de orquestación de contenedores, explorando su arquitectura, comandos básicos y ventajas para entornos distribuidos.

🌐 1. ¿Qué es Docker Swarm?

Docker Swarm es una herramienta de orquestación nativa de Docker que permite administrar múltiples contenedores distribuidos en varios hosts como si fueran uno solo. Es ideal para crear clústeres de alta disponibilidad y escalar servicios automáticamente.

🏗️ 2. Arquitectura de Docker Swarm

🔹 Componentes principales:

- Manager nodes: controlan el estado del clúster, distribuyen tareas y gestionan servicios.
- Worker nodes: ejecutan las tareas asignadas por los managers.
- Servicios: conjunto de tareas que se ejecutan en los nodos.
- Tareas (tasks): instancias individuales de un contenedor.

🔐 Seguridad:

- Comunicación cifrada entre nodos
- Autenticación mutua con certificados

🛠️ 3. Comandos Básicos

🔧 Inicializar Swarm:

docker swarm init

🔧 Agregar nodos al clúster:

docker swarm join --token :

🔧 Crear un servicio:

docker service create --name web --replicas 3 -p 80:80 nginx

🔧 Ver servicios y nodos:

docker service ls

docker node ls

🔧 Escalar servicios:

docker service scale web=5

🧪 4. Actividad Práctica Guiada

🧪 Objetivo:

Crear un clúster Swarm local con 1 nodo manager y 2 worker usando máquinas virtuales o instancias en la nube.

🧪 Pasos:

1. Inicializar el nodo manager con docker swarm init
2. Obtener el token de unión con docker swarm join-token worker
3. Unir los nodos worker al clúster
4. Crear un servicio web replicado
5. Escalar el servicio y observar el balanceo de carga

🧠 5. Ventajas de Docker Swarm

- Fácil de configurar y usar
- Integración nativa con Docker
- Alta disponibilidad y escalabilidad
- Balanceo de carga automático
- Seguridad integrada

📚 Recursos Complementarios

- Documentación oficial de Docker Swarm
- Tutoriales en YouTube: “Docker Swarm desde cero”
- Repositorio de ejemplos: Awesome Docker Swarm