Despliegue de servicios en Swarm
Despliegue y escale aplicaciones en contenedores como servicios en su clúster de Swarm y gestione su ciclo de vida.
Despliegue de servicios en Swarm es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué es un servicio de Docker Swarm?
En Docker Swarm, un service es la definición de cómo desea ejecutar una aplicación contenedorizada en todo el clúster.
En lugar de ejecutar contenedores individuales, define un servicio para indicar a Swarm: "Quiero ejecutar X instancias de esta imagen, en estos puertos y con esta configuración".
Swarm garantiza que se mantenga el estado deseado y reinicia automáticamente los contenedores si fallan.

Servicios frente a contenedores
Considérelo de esta manera:
- Un container es una única instancia de una aplicación.
- Un service es un esquema para ejecutar uno o varios contenedores idénticos (llamados tasks) en su Swarm.
Los servicios proporcionan alta disponibilidad y escalabilidad al distribuir las tareas y gestionar los fallos automáticamente.
Implementar su primer servicio
El comando docker service create permite implementar aplicaciones como servicios en su clúster de Swarm. Vamos a crear un servicio sencillo de servidor web Nginx.
Pruebe a ejecutar este ejemplo:
docker service create \
--name my-web-app \
-p 80:80 \
--replicas 1 \
nginxComprender la creación de servicios
Analicemos el comando que acabamos de utilizar:
--name my-web-app: Asigna un nombre fácil de recordar al servicio.-p 80:80: Mapea el puerto 80 de los nodos de Swarm al puerto 80 dentro del contenedor.--replicas 1: Indica a Swarm que debe mantener una instancia (tarea) de este servicio en ejecución.nginx: Especifica la imagen de Docker que se utilizará para las tareas del servicio.
Inspeccionar sus servicios
Después de crear un servicio, querrá comprobar su estado y ver sus tareas en ejecución. Utilice estos comandos:
docker service ls: Muestra una lista de todos los servicios de su Swarm.docker service ps <service_name>: Muestra las tareas individuales (contenedores) asociadas a un servicio.
docker service ls
docker service ps my-web-appEscalar su servicio
Una de las principales ventajas de Docker Swarm es la facilidad para escalar. Puede aumentar el número de instancias (réplicas) en ejecución de su servicio con un solo comando.
Vamos a escalar my-web-app a tres réplicas:
docker service scale my-web-app=3Reducir la escala de su servicio
De la misma manera, puede reducir la escala de su servicio para disminuir el uso de recursos o gestionar el tráfico. Swarm detendrá gradualmente los contenedores sobrantes y mantendrá en ejecución los restantes.
Vamos a reducir my-web-app de nuevo a una réplica:
docker service scale my-web-app=1Actualizar un servicio
Cuando necesite implementar una nueva versión de su aplicación o cambiar la configuración del servicio, docker service update realiza una rolling update. Swarm actualiza las tareas una por una para garantizar que la aplicación siga disponible.
Vamos a actualizar nuestro servicio de Nginx a una versión específica:
docker service update --image nginx:1.25 my-web-appEliminar un servicio
Cuando ya no necesite un servicio, puede eliminarlo del Swarm. Esto detendrá todas las tareas asociadas y eliminará la definición del servicio del clúster.
Para eliminar nuestro servicio de ejemplo de la aplicación web:
docker service rm my-web-appCuestionario sobre la gestión de servicios
Tiene un servicio llamado my-backend que se ejecuta con 3 réplicas y utiliza la imagen my-backend:v1. Necesita actualizarlo para que utilice una imagen nueva, my-backend:v2, y aumentar también sus réplicas a 5.
Resumen: servicios de Swarm
¡Buen trabajo! Ha aprendido los conceptos esenciales para implementar y gestionar aplicaciones como servicios en Docker Swarm.
- Los servicios definen el estado deseado de sus aplicaciones contenedorizadas.
- Ha aprendido a crear servicios mediante
docker service create. - Hemos explicado cómo inspeccionar, escalar (
docker service scale) y actualizar (docker service update) servicios. - Por último, puede eliminar servicios con
docker service rm.
Los servicios son fundamentales para crear aplicaciones escalables y resistentes en un clúster de Swarm.
Preguntas frecuentes
¿La lección «Despliegue de servicios en Swarm» es gratis?
Sí — el texto completo de «Despliegue de servicios en Swarm» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Despliegue de servicios en Swarm»?
Despliegue y escale aplicaciones en contenedores como servicios en su clúster de Swarm y gestione su ciclo de vida. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Despliegue de servicios en Swarm»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Introducción a Docker Swarm
- Configuración de un clúster de Swarm
- Despliegue de servicios en Swarm
- Escalado y actualizaciones graduales en Swarm