Cómo iniciar Docker Swarm en tu máquina

Clase 7 de 24Curso de Swarm

Resumen

Domina Docker Swarm desde cero en tu propia máquina. Activa el modo swarm, entiende los roles de manager y worker, usa tokens de unión y protege la comunicación con TLS. Con pocos comandos, verás cómo inspeccionar nodos, leer su estado y salir del cluster sin romper nada.

¿Qué es Docker Swarm mode y cómo iniciarlo?

Docker Swarm no es un paquete externo: es un modo de ejecución del daemon de Docker. No necesitas instalar nada adicional. Puedes crear un swarm productivo con varios servidores, pero para aprender basta con tu laptop.

  • Actívalo con un comando simple.
  • Se crea automáticamente un nodo manager.
  • Sin manager, no existe un swarm.
  • Los tokens diferencian unión de workers y de managers.

¿Cómo activar swarm con docker swarm init?

Inicia el swarm en tu equipo. Obtendrás el ID del nodo, el rol de manager y el comando para unir workers.

# inicializar
docker swarm init

¿Qué significan manager, worker y token?

  • manager: coordina el swarm y valida uniones con tokens.
  • worker: ejecuta contenedores bajo las órdenes del manager.
  • token de worker/manager: credencial para unirse. Se obtiene con:
# ver el comando y token para unir managers
docker swarm join-token manager

Ojo: cada inicialización genera tokens nuevos.

¿Cómo ver y explorar nodos en un cluster?

Una vez activo el modo swarm, puedes listar nodos y obtener detalles útiles para operar y diagnosticar. Verás el ID, el hostname, el estado y la versión de Docker Engine del nodo.

¿Para qué sirve docker node ls?

Lista los nodos presentes en el swarm.

docker node ls
  • Identifica rápidamente la versión del engine por nodo.
  • Detecta nodos desactualizados con facilidad.

¿Qué muestra docker node inspect y el flag --pretty?

Inspecciona el nodo actual con un JSON completo o una vista legible.

# inspeccionar el nodo actual
docker node inspect self

# salida más legible (puede ocultar datos)
docker node inspect --pretty self

Encontrarás datos como: rol de manager, fechas de creación y actualización, y el bloque TLS info con trust root.

¿Por qué TLS y trust root protegen la red?

El manager cifra toda la comunicación entre nodos con TLS. Así, los datos del swarm (servicios, contenedores y secretos) viajan encriptados. Esto evita exponer credenciales en texto plano cuando el cluster corre en la nube.

  • Beneficio clave: seguridad integrada sin configurar otra capa.
  • El trust root valida certificados y asegura la confianza entre nodos.

¿Cómo abandonar el swarm y verificar el estado?

Si el único nodo es un manager y se va, el swarm puede quedar irrecuperable. Por eso, Docker pide confirmación. En pruebas locales, puedes forzar la salida y volver al modo normal de Docker.

¿Cómo usar docker swarm leave de forma segura?

Primero intenta salir; si eres manager, usa la fuerza bajo tu propio riesgo.

# salir del swarm
docker swarm leave

# forzar la salida si eres manager
docker swarm leave --force
  • Un worker puede salir sin impacto mayor: los managers reubican contenedores.
  • Un manager saliendo implica riesgo: úsalo solo si entiendes las consecuencias.

¿Qué indica Docker info sobre swarm active o inactive?

Consulta el estado del modo swarm del daemon.

docker info
  • Verás swarm inactive si el modo está apagado.
  • Tras docker swarm init, aparecerá swarm active con más datos: ID de nodo, rol de manager e ID del cluster.

¿Tienes dudas, trucos o experiencias con swarm en tu entorno local o en la nube? Cuéntalo en los comentarios y aprendemos juntos.