Curso de Swarm

Creando servicios en Docker Swarm

Curso de Swarm

Contenido del curso

0:005:36

Recursos

Resumen

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.

Creando servicios en Docker Swarm

Curso de Swarm

Clase 8 de 24

Clase 8 / 24