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?
- Configurar Hosts
- Instalar Docker-ce
- Inicialización de Docker Swarm
- 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/hostsAgrega la siguiente configuración al final de la línea.
132.92.41.4 administrador
132.92.41.5 trabajador01Guarda 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 trabajador01Y asegúrate de que funcione en todos los 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 -yAhora 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.listActualiza 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 -yDespué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 dockerDocker-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 mohammadAhora 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-worldY recibirás el hello world de docker como se muestra a continuación.

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.4Y 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:2377Ahora 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 lsAhora 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-alpineY cuando se haya creado, verifica usando el comando de servicio de docker a continuación.
docker service lsY 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=2Y después de que se complete, verifica nuevamente usando el comando de servicio de docker.
docker service lsY ahora el servidor tiene 2 réplicas.

Abre tu navegador web y escribe la dirección IP del nodo administrador con el puerto 8080.
Y obtendrás la página predeterminada de Nginx.
A continuación se muestra el resultado del nodo ‘trabajador01’.
El Clúster Swarm ha sido creado, y el servicio Nginx ha sido completamente desplegado en nuestro Clúster Swarm.
Referencia
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.