Cómo instalar y desplegar un servicio en Docker Swarm
Docker Swarm es uno de los clústeres de contenedores más sencillos de implementar. En cuestión de minutos, puedes tener tu clúster funcionando para lograr alta disponibilidad, tolerancia a fallos y escalabilidad. Una vez que esté en funcionamiento, podrás desplegar contenedores en el clúster y aprovechar al máximo sus ventajas. Por ejemplo, podrías desplegar un servicio que se escala según la demanda que reciba.

En esta guía te mostraré cómo instalar Docker Swarm y desplegar un servicio en el nuevo clúster que pueda escalarse según las necesidades de tu empresa.
Lo que necesitarás
En esta demostración, utilizaré un clúster compuesto por un controlador y dos nodos, todos ejecutados en Ubuntu Server 20.04. Si estás utilizando una distribución de Linux diferente, es posible que debas ajustar los pasos de instalación de Docker (pero nada más).
Dicho esto, comencemos a trabajar con Docker Swarm.
Cómo instalar Docker
Lo primero que debemos hacer es instalar Docker. Asegúrate de seguir estos mismos pasos en tu controlador y en los nodos que planees implementar.
Inicia sesión en tu servidor y actualiza "apt" con el siguiente comando:
Los diferentes tipos de buses en los dispositivos electrónicossudo apt-get updateA continuación, instala las dependencias necesarias con el siguiente comando:
sudo apt-get install ca-certificates curl gnupg lsb-release -yAgrega la clave GPG oficial de Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgAgrega el repositorio estable de Docker con el siguiente comando:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullInstala Docker Engine con los siguientes comandos:
sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io -yInicia y habilita Docker con el siguiente comando:
sudo systemctl enable --now dockerAgrega tu usuario al grupo "docker" con el siguiente comando:
Cómo entrar al programa de configuración del BIOS en tu computadorasudo usermod -aG docker $USERHaz que el sistema reconozca el nuevo grupo con el siguiente comando:
newgrp dockerRepite los pasos anteriores en todos tus nodos.
De vuelta en el controlador de Docker, inicializa Swarm con el siguiente comando:
docker swarm init --advertise-addr SERVIDORDonde "SERVIDOR" es la dirección IP del controlador de Docker.
A continuación, se te mostrará el comando de unión que se verá así:
docker swarm join --token SWMTKN-1-46uxtlbe3wrelly1fe5e65p1wdvg95bcjo48izvptpwof62rdo-42yl4jprovhng56sgxmyv7arv 192.168.1.13:2377Copia ese comando y ejecútalo en todos tus nodos. Una vez que hayas hecho eso, puedes verificar la unión emitiendo el siguiente comando en el controlador:
Entendiendo los permisos de archivos y directorios en UNIXdocker infoDeberías ver una salida similar a esta:
Swarm: activeNodeID: wb44efzwy68x9gek45ee1nbnbIs Manager: trueClusterID: vjec4hz1sjj535x9w0mspox87Managers: 1Nodes: 3Default Address Pool: 10.0.0.0/8SubnetSize: 24Data Path Port: 4789Orchestration:Task History Retention Limit: 5Cómo desplegar un servicio en el clúster de Swarm
Ahora podemos desplegar un servicio en nuestro clúster de Swarm. Comencemos con algo sencillo y despleguemos un servicio de contenedor NGINX con el que no podamos interactuar. Para ello, ejecuta el siguiente comando en el controlador:
docker service create --name nginx_test nginxPara verificar el estado del servicio, ejecuta el siguiente comando:
docker service lsDeberías ver que nuestro servicio NGINX se ha replicado con una salida similar a esta:
zie1n4nm5es3 nginx_test replicated 1/1 nginx:latestNuestro ejemplo anterior solo aprovecha uno de nuestros nodos. ¿Y si queremos implementar ese servicio en los tres nodos? Para eso, nuestro comando sería algo así:
docker service create --replicas 3 --name nginx3nodes nginxEjecuta el siguiente comando:
Cómo recuperar una contraseña de BIOS perdida: dos métodos efectivosdocker service lsDeberías ver que nuestro despliegue "nginx3nodes" se ha replicado en 3 de 3 nodos con la siguiente salida:
y1yu8fq27aab nginx3nodes replicated 3/3 nginx:latestEl servicio ahora aprovecha los tres nodos de nuestro clúster. Puedes reducir la escala de ese servicio a 2 nodos con el siguiente comando:
docker service scale nginx3nodes=2Verifica el estado con:
docker service lsAhora deberías ver el servicio NGINX en 2/2 nodos.
Supongamos que tienes cinco nodos en tu clúster. Si deseas ampliar el servicio a los cinco nodos, el comando sería:
docker service scale nginx3nodes=5Para eliminar el servicio, emite el comando:
Cómo funciona y cómo probar una fuente de alimentación para PCdocker service rm nginx3nodesSupongamos que quieres actualizar la imagen del contenedor en tu despliegue. Han pasado algunos días desde que se implementó originalmente y quieres asegurarte de que estás utilizando la última imagen de contenedor disponible. Supongamos que "nginx:latest" es una imagen de contenedor actualizada y para actualizar ese servicio con la nueva imagen, emite el siguiente comando:
docker service update --image nginx:latest nginx3nodesUna nota final, si quieres administrar el clúster de forma más sencilla, despliega Portainer en el controlador con el siguiente comando:
docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ceUna vez desplegado, ve a http://SERVIDOR:9443 (donde "SERVIDOR" es la dirección IP del servidor). Después de crear un usuario administrador e iniciar sesión, verás Swarm en la navegación izquierda. Haz clic en él para ver tu clúster (Figura A).
Figura A

Y eso es básicamente lo fundamental para poner en marcha un Docker Swarm y desplegar un servicio en los nodos.
Cómo diagnosticar y reemplazar una fuente de alimentación defectuosa en tu PCSuscríbete a "How To Make Tech Work" de Newsmatic en YouTube para recibir los últimos consejos tecnológicos para profesionales de negocios por parte de Jack Wallen.
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Centros de Datos, allí encontraras muchos artículos similares a Cómo instalar y desplegar un servicio en Docker Swarm , tenemos lo ultimo en tecnología 2026.

Artículos Relacionados