Creando servicios en Docker Swarm
Clase 8 de 24 • Curso de Swarm
Contenido del curso
Primeros pasos
- 6

Instalación de Docker en Mac, Ubuntu y Windows
10:13 min - 7

Cómo iniciar Docker Swarm en tu máquina
08:35 min - 8

Creando servicios en Docker Swarm
Viendo ahora - 9

Cómo funciona docker service ps internamente
11:09 min - 10

Qué es Play with Docker para practicar
06:27 min - 11

Creando un Docker Swarm multinodo real
06:15 min
Administrando Servicios
Swarm avanzado
- 15

Cómo Docker Swarm enruta tráfico sin perder peticiones
06:56 min - 16

Docker Swarm constraints: dónde correr cada tarea
09:04 min - 17

Cómo drenar nodos en Docker Swarm sin downtime
07:56 min - 18

Redes Overlay en Docker Swarm: Comunicación entre Servicios
13:39 min - 19

Docker Stack: automatiza despliegues multinodo
10:49 min - 20

Implementación de Reverse Proxy con Traefik en Docker Swarm
16:49 min
Swarm productivo
Conclusiones
Si ya tienes tu swarm local activo, el siguiente paso es usar servicios en Docker Swarm para aprovechar sus ventajas por encima de ejecutar contenedores sueltos. Aquí aprenderás a crear un servicio con Alpine que hace ping, entender qué es un servicio y cómo verificar réplicas, modo e imagen, todo desde la terminal.
¿Por qué usar servicios en Docker Swarm?
En lugar de docker run o docker compose up, en Swarm trabajas con servicios: una entidad que agrupa y gestiona contenedores, similar al servicio de Docker Compose, pero específico de Swarm. El daemon en swarm mode ofrece más capacidades: orquesta contenedores, escala réplicas y gestiona imágenes.
- Un servicio agrupa uno o varios contenedores.
- Puedes escalar y administrar con un solo comando.
- Swarm se encarga de crear y mantener los contenedores.
- El daemon en modo Swarm añade funciones por encima de Docker tradicional.
¿Qué conceptos y palabras clave debes fijarte?
- Servicio: entidad que agrupa contenedores y se escala.
- daemon en swarm mode: mismo daemon con capacidades extra.
- replicas: cantidad de contenedores por servicio; por defecto es 1.
- image: la imagen Docker que el servicio necesita (ejemplo: Alpine).
- node: el host donde Swarm ejecuta los contenedores (en este caso, uno solo).
- Correspondencia servicio-contenedor: cada servicio despliega contenedores gestionados por Swarm.
¿Cómo crear tu primer servicio con docker service create?
Crearemos un servicio llamado pinger que use la imagen Alpine y ejecute ping a www.google.com. Swarm descargará la imagen si no está disponible localmente y levantará el contenedor correspondiente.
¿Qué comando ejecutar?
docker service create --name pinger alpine ping www.google.com
- Asignas nombre con --name pinger.
- Usas la imagen Alpine, ligera y orientada a seguridad.
- Defines el comando del contenedor: ping a www.google.com.
¿Qué salida esperar y qué significa?
Al presionar enter verás mensajes como “preparing”, “esperando que las tareas estén estables” y “los servicios convergieron”.
- “preparing”: Swarm prepara el despliegue y descarga la imagen si falta.
- “tareas estables”: comprueba que el contenedor está corriendo correctamente.
- “servicios convergieron”: el servicio quedó operativo.
¿Cómo inspeccionar réplicas y contenedores asociados?
Una vez creado el servicio, puedes revisar su estado y el contenedor asociado. En un solo node podrás ver directamente el contenedor que Swarm lanzó por ti.
¿Cómo ver servicios activos?
docker service ls
- Muestra ID, nombre y modo del servicio.
- Indica replicas: por defecto verás 1/1.
- Señala la image usada: Alpine en este caso.
¿Dónde están los contenedores?
docker ps
- Verás un contenedor creado por Swarm (no hiciste docker run).
- Swarm asigna un nombre único, por ejemplo: pinger.1.x.
- Confirma que está ejecutando el comando ping.
En síntesis: declaras “qué” con servicios y Swarm hace el “cómo”. Descarga imágenes cuando faltan, crea contenedores y mantiene el estado deseado.
¿Quieres seguir profundizando en servicios y ciclo de vida en Swarm? Cuéntame en los comentarios qué te gustaría automatizar o escalar con servicios.