Docker Swarm · 4 min read · Feb 07, 2026

Cómo configurar y configurar un clúster de Docker Swarm en Ubuntu

Docker Swarm es una herramienta que te permite desplegar un clúster de Hosts de Docker. Es una herramienta de agrupamiento nativa proporcionada por Docker que ofrece alta disponibilidad y alto rendimiento para tu aplicación al distribuirla en todos los nodos dentro del clúster de swarm.

En este tutorial, te mostraremos paso a paso cómo crear un clúster de Swarm utilizando Ubuntu 16.04. Crearemos un clúster de swarm utilizando 2 máquinas servidor ubuntu, 1 nodo servidor como administrador y 1 otro como trabajador. Y luego intentaremos desplegar el servicio simple de Nginx en el clúster de swarm.

Requisitos previos

  • 2 o más - Ubuntu 16.04 Server - administrador     132.92.41.4
  • trabajador01   132.92.41.5
  • Privilegios de root

¿Qué haremos?

  1. Configurar Hosts
  2. Instalar Docker-ce
  3. Inicialización de Docker Swarm
  4. Desplegar el primer servicio en el clúster

Paso 1 - Configurar Hosts

Antes de instalar cualquier paquete para el clúster de swarm, configuraremos el archivo de hosts en ambos servidores.

Ejecuta los comandos a continuación en todos los servidores, ‘administrador’ y ‘trabajador01’.

Edita el archivo ‘/etc/hosts’ usando el editor vim.

vim /etc/hosts

Agrega la siguiente configuración al final de la línea.

132.92.41.4    administrador  
132.92.41.5    trabajador01

Guarda y sal.

Ahora haz ping a todos los nodos usando ‘hostname’ en lugar de usar la dirección IP.

ping -c 3 administrador  
ping -c 3 trabajador01

Y asegúrate de que funcione en todos los hosts.

Configurar hosts

Paso 2 - Instalar Docker-ce

Para crear el clúster de swarm, necesitamos instalar docker en todos los nodos del servidor. En este paso, instalaremos Docker-ce Community Edition en ambos servidores, administrador y trabajador01.

Instala las dependencias de Docker-ce usando el comando apt a continuación.

sudo apt install apt-transport-https software-properties-common ca-certificates -y

Ahora agrega la clave de Docker y el repositorio de Docker-ce a nuestros servidores.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -  
sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" > /etc/apt/sources.list.d/docker-ce.list

Actualiza el repositorio e instala los paquetes de Docker-ce usando el comando apt install a continuación.

sudo apt update  
sudo apt install docker-ce -y

Después de que la instalación esté completa, inicia el servicio de docker y habilítalo para que se inicie cada vez que arranque el sistema.

systemctl start docker  
systemctl enable docker

Docker-ce ahora está instalado en nuestros nodos de servidor.

A continuación, configuraremos docker para que se ejecute como un usuario normal o un usuario no root.

Crea un nuevo usuario llamado ‘mohammad’ y agrégalo al grupo ‘docker’.

useradd -m -s /bin/bash mohammad  
sudo usermod -aG docker mohammad

Ahora inicia sesión en el usuario ‘mohammad’ y ejecuta el comando hello-world de docker como se muestra a continuación.

su - mohammad  
docker run hello-world

Y recibirás el hello world de docker como se muestra a continuación.

Instalar Docker-ce

Paso 3 - Crear el Clúster Swarm

En este paso, crearemos el Clúster Swarm de nuestros nodos. Y para crear los nodos del clúster de swarm, necesitamos inicializar el modo swarm en el nodo ‘administrador’ y luego unir el nodo ‘trabajador01’ al clúster.

Inicializa el modo Docker Swarm ejecutando el comando docker a continuación en el nodo ‘administrador’.

docker swarm init --advertise-addr 132.92.41.4

Y obtendrás el resultado como se muestra a continuación.

Verás que se ha generado un ‘join-token’ por el nodo ‘administrador’.

A continuación, necesitamos agregar el nodo ‘trabajador01’ al clúster ‘administrador’. Y para hacer eso, necesitamos un ‘join-token’ del nodo ‘administrador’ del clúster, así que asegúrate de anotarlo.

Ejecuta el comando docker swarm join en el nodo ‘trabajador01’.

docker swarm join --token SWMTKN-1-5p5ujrr67rl2rlmyvrj56fksblbcrtaeirf7fj5r4snid2vn6y-918gbqr02m64xct43i2ssi4qs 132.92.41.4:2377

Ahora obtendrás el resultado como se muestra a continuación.

El nodo ‘trabajador01’ se ha unido al clúster.

Verifícalo ejecutando el siguiente comando en el nodo ‘administrador’.

docker node ls

Ahora verás que el nodo ‘trabajador01’ se ha unido al clúster de swarm.

El Clúster Swarm ha sido creado.

Paso 4 - Desplegar el Primer Servicio en el Clúster

En este paso, crearemos y desplegaremos nuestro primer servicio en el clúster de swarm. Queremos crear un nuevo servicio de servidor web Nginx que se ejecutará en el puerto http predeterminado 80, y luego exponerlo al puerto 8080 en el servidor host, y luego intentar replicar el servicio nginx dentro del clúster de swarm.

Crear Servicio

Crea un nuevo servicio Nginx llamado ‘my-web’ y expón el puerto HTTP del contenedor al puerto 8080 en el host.

docker service create --name my-web --publish 8080:80 nginx:1.13-alpine

Y cuando se haya creado, verifica usando el comando de servicio de docker a continuación.

docker service ls

Y obtendrás el resultado como se muestra a continuación.

El servicio Nginx ha sido creado y desplegado en el clúster de swarm como un servicio llamado ‘my-web’, se basa en Nginx Alpine Linux, expone el puerto HTTP del servicio del contenedor al puerto ‘8080’ en el host, y tiene solo 1 réplica.

Réplicas y Escalar el Servicio

Ahora haremos réplicas para el servicio ‘my-web’. Haremos 2 réplicas del servicio ‘my-web’, para que el servicio sea accesible en los nodos ‘administrador’ y ‘trabajador01’.

Para replicar el servicio ‘my-web’, ejecuta el siguiente comando.

docker service scale my-web=2

Y después de que se complete, verifica nuevamente usando el comando de servicio de docker.

docker service ls

Y ahora el servidor tiene 2 réplicas.

Réplicas y Escalar el Servicio

Abre tu navegador web y escribe la dirección IP del nodo administrador con el puerto 8080.

http://administrador:8080/

Y obtendrás la página predeterminada de Nginx.

A continuación se muestra el resultado del nodo ‘trabajador01’.

http://trabajador01:8080/

El Clúster Swarm ha sido creado, y el servicio Nginx ha sido completamente desplegado en nuestro Clúster Swarm.

Referencia

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.