Listar todas las tareas en un nodo
En este paso, aprenderás cómo listar todas las tareas que se ejecutan en un nodo de Docker Swarm. Docker Swarm es una herramienta de orquestación de contenedores que te permite gestionar un clúster de nodos de Docker. Una tarea es una instancia en ejecución de un servicio.
Antes de listar las tareas, necesitamos tener un servicio de Docker Swarm en ejecución. Para este laboratorio, utilizaremos un simple servicio nginx
.
Primero, inicialicemos un Docker Swarm en este nodo.
docker swarm init
Deberías ver una salida que indique que el swarm se ha inicializado y que proporcione un token de unión.
Ahora, creemos un servicio simple llamado my-nginx-service
utilizando la imagen nginx
. Primero descargaremos la imagen nginx
para asegurarnos de que esté disponible.
docker pull nginx:latest
docker service create --name my-nginx-service --replicas 1 nginx
El comando docker service create
crea un nuevo servicio con una réplica (una tarea). Docker descargará automáticamente la imagen nginx
si no está presente, pero la descargamos explícitamente de antemano.
Después de crear el servicio, Docker iniciará una tarea para este servicio en uno de los nodos del swarm (en este caso, el nodo actual).
Para listar todas las tareas que se ejecutan en el nodo, puedes utilizar el comando docker node ps
seguido del ID del nodo o del nombre de host. Dado que estamos en el nodo administrador donde se creó el servicio, podemos utilizar el ID del nodo actual.
Para encontrar el ID del nodo, puedes utilizar el comando docker node ls
.
docker node ls
Este comando listará todos los nodos del swarm. La salida mostrará el ID del nodo, el nombre de host, el estado, la disponibilidad y el estado del administrador. Copia el ID del nodo actual (el que tiene Leader
en MANAGER STATUS
).
Ahora, utiliza el comando docker node ps
con el ID del nodo que copiaste para listar las tareas en ese nodo. Reemplaza <node_id>
con el ID real del nodo.
docker node ps <node_id>
Este comando mostrará una lista de tareas que se ejecutan en el nodo especificado, incluyendo el ID de la tarea, el nombre del servicio, la imagen, el nodo, el estado deseado, el estado actual y el error. Deberías ver la tarea my-nginx-service.1
lista con un estado de Running
.
Como alternativa, puedes listar todas las tareas en el swarm utilizando el comando docker task ls
. Este comando es útil para ver las tareas en todos los nodos del swarm.
docker task ls
Este comando mostrará información similar a docker node ps
, pero lista las tareas de todos los nodos del swarm. Dado que solo tenemos un nodo y una tarea, la salida será similar a docker node ps
.
En este paso, aprendiste cómo listar las tareas en un nodo específico utilizando docker node ps
y listar todas las tareas en el swarm utilizando docker task ls
.