Creación de Servicios en Docker Swarm
Clase 8 de 24 • Curso de Swarm
Resumen
¿Cómo iniciar un servicio en Docker Swarm?
¡Bienvenido a la aventura de Docker Swarm! Saber cómo gestionar aplicaciones en contenedores es fundamental en la era digital, y Docker Swarm nos ofrece una solución eficiente y escalable. Cuando nos adentramos por primera vez en el mundo de Docker, es probable que hayamos usado Docker Run
o Docker Compose Up
para ejecutar contenedores. Sin embargo, para aprovechar al máximo las capacidades de Docker Swarm, necesitamos entender cómo crear y gestionar servicios sobre esta plataforma.
Crear un servicio en Docker Swarm es bastante sencillo y se asemeja a lo que sabemos de Docker Compose. A continuación, te explicaré cómo hacerlo.
¿Qué diferencia hace Docker Swarm frente a Docker Run?
A menudo nos preguntamos: ¿por qué debería usar Docker Swarm en lugar de simplemente ejecutar contenedores con Docker? La clave está en las características adicionales y la flexibilidad que Swarm nos proporciona:
- Escalabilidad: Swarm te permite escalar tus aplicaciones fácilmente mediante la creación de múltiples instancias de un servicio.
- Orquestación: Al definir servicios en lugar de contenedores individuales, Swarm gestiona la distribución y la ejecución de los contenedores.
Dicho esto, ¡vamos a poner manos a la obra y crear nuestro primer servicio!
¿Cómo crear un servicio en Docker Swarm?
Para comenzar, asegúrate de que tu Docker daemon está corriendo en modo Swarm. Luego, en tu terminal, escribiremos el siguiente comando:
docker service create --name pinger alpine ping www.google.com
Desglosemos lo que acabamos de ejecutar:
docker service create
: Comenzamos por indicar a Docker que deseamos crear un nuevo servicio.--name pinger
: Le damos un nombre amigable,pinger
, que nos ayudará a administrar nuestros servicios más fácilmente.alpine
: Esta es la imagen base que usaremos. Alpine es una imagen ligera de Linux, muy popular en Docker por su seguridad y reducido tamaño.ping www.google.com
: El comando que ejecutará nuestro contenedor. En este caso, hemos decidido que haga "ping" awww.google.com
.
Este comando creará automáticamente un contenedor que ejecutará el comando especificado. Docker Swarm se encargará de descargar la imagen de Alpine si aún no está en tu nodo y configurará el servicio para nosotros.
¿Cómo verificar los servicios y contenedores?
Después de crear un servicio, puedes querer verificar que todo esté corriendo como se esperaba. Ejecuta los siguientes comandos:
docker service ls
Este comando te muestra una lista de los servicios activos, con detalles como el nombre, el ID, el modo y las réplicas.
Para ver los contenedores asociados a estos servicios, puedes usar:
docker container ls
Aquí verás que, aunque no ejecutaste Docker Run
, hay un contenedor en funcionamiento con un nombre generado automáticamente. Esto demuestra el poder de Swarm: tú defines un servicio, y él se encarga de gestionar los contenedores necesarios.
Implicaciones y consejos para trabajar con Docker Swarm
El uso de Swarm cambia la forma en que interactuamos con Docker. Aquí algunos consejos prácticos:
- Aprende sobre servicios: Entender cómo funcionan los servicios versus los contenedores individuales te ayudará a diseñar aplicaciones más robustas.
- Utiliza Docker Compose: Aunque Swarm tiene su propia API, Docker Compose sigue siendo útil para definir servicios, principalmente porque es fácil de usar y traducir a un contexto de Swarm.
- Revisa la documentación de imágenes: Alpine es una excelente base para imágenes seguras y ligeras. Explora más sobre sus usos y beneficios.
Con estos conocimientos, estás preparado para comenzar a implementar aplicaciones usando Docker Swarm. ¡Sigue explorando y mejorando tus habilidades, y no dudes en experimentar con esta poderosa herramienta!