15 Comandos útiles para administrar Docker Swarm

Docker Swarm es una herramienta de orquestación nativa de Docker que te permite crear y administrar clústeres de contenedores. Con Docker Swarm, puedes distribuir y escalar aplicaciones de manera fácil y eficiente. En esta entrada, exploraremos 15 comandos utilizados para administrar Docker Swarm, desde la creación de un clúster hasta la gestión de servicios, nodos y redes.

1. Iniciar un clúster de Docker Swarm

El primer paso para utilizar Docker Swarm es inicializar un clúster. Utiliza el siguiente comando en el nodo principal:

docker swarm init

Esto creará un clúster Swarm y generará un token que se utilizará para unir otros nodos al clúster.

2. Recuperar token para unir nodos al clúster de Docker Swarm

Para recuperar el token que permite agregar nodos workers al clúster de Docker Swarm, ejecuta el siguiente comando desde un nodo manager:

docker swarm join-token worker

Para recuperar el token que permite agregar un nodo manager al clúster de Docker Swarm, ejecuta el siguiente comando desde un nodo manager:

docker swarm join-token manager

3. Unirse a un clúster Swarm

Para agregar nodos adicionales al clúster Swarm, ejecuta el siguiente comando en cada nodo que desees unir:

docker swarm join --token <TOKEN> <IP_DEL_NODO_PRINCIPAL>:<PUERTO>

Reemplaza <TOKEN> con el token generado en el paso anterior y <IP_DEL_NODO_PRINCIPAL>:<PUERTO> con la dirección IP y el puerto del nodo principal.

4. Ver el estado del clúster Swarm

Puedes verificar el estado actual del clúster Swarm utilizando el siguiente comando:

docker node ls

Esto mostrará una lista de todos los nodos en el clúster y su estado actual.

5. Crear un servicio en el clúster

Para desplegar una aplicación o servicio en el clúster Swarm, utiliza el siguiente comando:

docker service create --name <NOMBRE_DEL_SERVICIO> <IMAGEN_DEL_CONTENEDOR>

6. Ver servicios en ejecución

Para ver una lista de todos los servicios en ejecución en el clúster, ejecuta el siguiente comando:

docker service ls

Esto mostrará información como el nombre del servicio, el número de réplicas y el estado actual.

7. Escalar servicios

Puedes escalar un servicio para aumentar o disminuir el número de réplicas que se están ejecutando. Utiliza el siguiente comando:

docker service scale <NOMBRE_DEL_SERVICIO>=<NÚMERO_DE_RÉPLICAS>

Reemplaza <NOMBRE_DEL_SERVICIO> con el nombre del servicio que deseas escalar y <NÚMERO_DE_RÉPLICAS> con el número deseado de réplicas.

8. Inspeccionar un servicio

Si necesitas obtener información más detallada sobre un servicio específico, puedes usar el siguiente comando:

docker service inspect <NOMBRE_DEL_SERVICIO>

Esto mostrará información detallada, como la configuración del servicio, las réplicas y las restricciones.

Para una visualización más amigable, puedes utilizar la opción “–pretty”

docker service inspect --pretty <NOMBRE_DEL_SERVICIO>

9. Actualizar un servicio

docker service update <NOMBRE_DEL_SERVICIO> --image <NUEVA_IMAGEN_DEL_CONTENEDOR>

Reemplaza <NOMBRE_DEL_SERVICIO> con el nombre del servicio que deseas actualizar y <NUEVA_IMAGEN_DEL_CONTENEDOR> con la nueva imagen del contenedor que deseas utilizar.

10. Eliminar un servicio

Si ya no necesitas un servicio en el clúster, puedes eliminarlo utilizando el siguiente comando:

docker service rm <NOMBRE_DEL_SERVICIO>

11. Ver logs de servicio

Puedes ver los registros de un servicio específico utilizando el siguiente comando:

docker service logs <NOMBRE_DEL_SERVICIO>

Esto mostrará los registros generados por las réplicas del servicio.

Para ver los registros en tiempo real, se puede agregar la opción “-f”:

docker service logs -f <NOMBRE_DEL_SERVICIO>

12. Inspeccionar un nodo

Si deseas obtener información detallada sobre un nodo específico en el clúster Swarm, ejecuta el siguiente comando:

docker node inspect <NOMBRE_DEL_NODO>

13. Crear una red en el clúster

Puedes crear una red específica para los servicios en el clúster Swarm utilizando el siguiente comando:

docker network create --driver overlay <NOMBRE_DE_LA_RED>

Reemplaza <NOMBRE_DE_LA_RED> con el nombre que deseas asignar a la red.

14. Ver redes en el clúster

Para ver una lista de todas las redes en el clúster Swarm, utiliza el siguiente comando:

docker network ls

Esto mostrará las redes disponibles y su estado actual.

15. Detener un clúster Swarm

Si deseas detener todos los servicios y nodos del clúster Swarm, ejecuta el siguiente comando en el nodo principal:

docker swarm leave --force

Esto detendrá y eliminará el clúster Swarm.

Deja un comentario