Primeros pasos con Docker Swarm: Orquestación de Contenedores
Clase 29 de 34 • Curso de Docker Avanzado
Resumen
¿Qué es un orquestador de contenedores?
En el mundo de la administración de sistemas, los orquestadores de contenedores han revolucionado la manera en que desplegamos y gestionamos aplicaciones. Estos poderosos aliados automáticos se encargan de gestionar la red, volúmenes y despliegue de contenedores, liberándote de una gran carga de tareas rutinarias. Entre ellos, Kubernetes destaca como el líder indiscutible, aunque su complejidad puede ser intimidante para quienes inician en este campo. Por suerte, Docker Swarm ofrece una alternativa más accesible para adentrarse en esta tecnología.
¿Cómo iniciar con Docker Swarm?
Docker Swarm es el orquestador de contenedores por defecto de Docker y es ideal para dar los primeros pasos en orquestación. Comenzar a trabajar con él es sorprendentemente sencillo y rápido.
Iniciando Docker Swarm
Para inicializar Docker Swarm, simplemente abre tu terminal y escribe el siguiente comando:
docker swarm init
Este sencillo paso establece el entorno necesario para que Docker Swarm gestione tus contenedores.
Creando servicios con Docker Swarm
El manejo de servicios es fundamental al utilizar Docker Swarm. La creación de servicios te permite desplegar contenedores de forma controlada y replicada. Aquí te muestro cómo hacerlo:
-
Para crear un servicio llamado "web" con tres réplicas de la imagen
nginx
, utiliza el siguiente comando:docker service create --name web --replicas 3 -p 8080:80 nginx
La opción -p 8080:80
indica que el puerto 8080 del host se mapeará al puerto 80 del contenedor.
-
Para un servicio llamado "API" con cinco réplicas, usa este comando:
docker service create --name api --replicas 5 -p 8081:80 username/minimal-api
Recuerda ajustar los puertos si tienes conflictos.
Monitoreando y gestionando servicios
Una vez creados, es crucial monitorear el estado de los servicios desplegados. Docker Swarm proporciona comandos para este propósito:
-
Para listar los servicios actuales:
docker service ls
Esto permite conocer qué servicios están activos y cuántas réplicas se están ejecutando.
-
Para obtener detalles de un servicio específico como "API":
docker service ps api
Este comando muestra el estado de las réplicas, identificándolas por nombres secuenciales como api.1, api.2, etc.
Escalar servicios en Docker Swarm
Si necesitas aumentar el poder de procesamiento de tu servicio "web", puedes aumentar el número de réplicas sin interrumpir el servicio:
docker service scale web=5
Docker Swarm automáticamente ajustará el número de contenedores a cinco réplicas.
Eliminando servicios y limpiando el entorno
Cuando ya no necesitas un servicio, Docker Swarm facilita su eliminación:
-
Para eliminar el servicio "web":
docker service rm web
Para quitar todos los servicios y salir del modo Swarm, emplea:
docker swarm leave --force
Esto asegura que tus nodos abandonen el Swarm, dejando tu entorno limpio y listo para nuevos proyectos.
En resumen, Docker Swarm te permite gestionar de manera efectiva y eficiente tus contenedores mientras experimentas y aprendes los fundamentos de la orquestación. ¡Anímate a seguir explorando y viendo cómo tus aplicaciones cobran vida con esta poderosa herramienta!