Levanta un entorno de Docker Swarm multinodo en Play with Docker con pasos claros y comandos reales. Aquí verás cómo resolver el error inicial por múltiples interfaces de red, diferenciar roles de manager y worker, y desplegar un servicio con verificación de tareas. Todo con comandos como docker swarm init, docker node ls, docker service create y docker service ps.
¿Cómo inicializar un Docker Swarm multinodo?
En Play with Docker, la máquina puede tener más de una interfaz de red. Al ejecutar docker swarm init sin parámetros, aparece un error porque el manager no sabe en qué dirección escuchar a otros nodos. La solución es usar --advertise-addr con la IP correcta.
Si hay varias interfaces, verifica con ifconfig y elige la IP activa.
Usa la opción adecuada para que el manager escuche en esa IP.
docker swarm init --advertise-addr 192.168.0.33
Al inicializar correctamente, se muestra el join token para sumar más nodos como workers. Ese token se copiará y pegará en los otros nodos.
¿Qué hacer si hay varias interfaces de red?
Identifica las interfaces: Ethernet uno y Ethernet dos.
El sistema te pedirá especificar la IP de escucha.
Apunta a la IP mostrada arriba en la terminal del entorno.
¿Qué obtienes al iniciar el swarm?
Un nodo con rol manager indicado con una “personita” en la interfaz de Play with Docker.
El join token para agregar workers.
¿Cómo unir nodos y entender los roles de manager y worker?
Al crear nodos nuevos, tienen el docker daemon pero no están en modo Swarm. Esto se confirma con docker info, donde la sección swarm no está activa hasta que se ejecute el join con el token.
En cada nodo nuevo, pega el comando del join token.
Verás el mensaje: “This node joined as a swarm worker.”
Los workers no administran el estado del cluster por seguridad.
# En un nodo recién creadodocker info # muestra que swarm no está activado todavía# Pegar el comando de join token aquí
Solo un manager puede consultar y administrar el estado del Swarm. Por ejemplo, en un worker docker node ls no funciona para listar el cluster; debes correrlo en el manager.
# En el managerdockernodels
Observa estos detalles clave al listar nodos:
manager status indica el rol; verás “líder” en el manager principal.
El asterisco marca el nodo en el que estás parado, útil en Swarms grandes.
¿Cómo desplegar un servicio y saber dónde corre?
Con el Swarm multinodo listo, puedes crear un servicio. El ejemplo usa Alpine para hacer ping continuo a un dominio.