docker service ps
| Descripción | Lista las tareas de uno o más servicios |
|---|---|
| Uso | docker service ps [OPTIONS] SERVICE [SERVICE...] |
Swarm Este comando funciona con el orquestador de Swarm.
Descripción
Lista las tareas que se están ejecutando como parte de los servicios especificados.
NoteEste es un comando de gestión de clústeres y debe ejecutarse en un nodo administrador de Swarm (manager node). Para obtener más información sobre administradores y trabajadores, consulta la sección del modo Swarm en la documentación.
Opciones
| Opción | Predeterminado | Descripción |
|---|---|---|
-f, --filter | Filtra la salida según las condiciones proporcionadas | |
--format | Muestra las tareas con un diseño mejorado utilizando una plantilla Go | |
--no-resolve | No asociar los IDs a los nombres | |
--no-trunc | No truncar la salida | |
-q, --quiet | Solo muestra los IDs de las tareas |
Ejemplos
Lista las tareas que forman parte de un servicio
El siguiente comando muestra todas las tareas que forman parte del servicio redis:
$ docker service ps redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
0qihejybwf1x redis.1 redis:7.4.0 manager1 Running Running 8 seconds
bk658fpbex0d redis.2 redis:7.4.0 worker2 Running Running 9 seconds
5ls5s5fldaqg redis.3 redis:7.4.0 worker1 Running Running 9 seconds
8ryt076polmc redis.4 redis:7.4.0 worker1 Running Running 9 seconds
1x0v8yomsncd redis.5 redis:7.4.0 manager1 Running Running 8 seconds
71v7je3el7rr redis.6 redis:7.4.0 worker2 Running Running 9 seconds
4l3zm9b7tfr7 redis.7 redis:7.4.0 worker2 Running Running 9 seconds
9tfpyixiy2i7 redis.8 redis:7.4.0 worker1 Running Running 9 seconds
3w1wu13yupln redis.9 redis:7.4.0 manager1 Running Running 8 seconds
8eaxrb2fqpbn redis.10 redis:7.4.0 manager1 Running Running 8 seconds
Además de las tareas en ejecución, la salida también muestra el historial de tareas. Por
ejemplo, después de actualizar el servicio para utilizar la imagen redis:7.4.1, la salida
podría verse así:
$ docker service ps redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
50qe8lfnxaxk redis.1 redis:7.4.1 manager1 Running Running 6 seconds ago
ky2re9oz86r9 \_ redis.1 redis:7.4.0 manager1 Shutdown Shutdown 8 seconds ago
3s46te2nzl4i redis.2 redis:7.4.1 worker2 Running Running less than a second ago
nvjljf7rmor4 \_ redis.2 redis:7.4.1 worker2 Shutdown Rejected 23 seconds ago "No such image: redis@sha256:6…"
vtiuz2fpc0yb \_ redis.2 redis:7.4.0 worker2 Shutdown Shutdown 1 second ago
jnarweeha8x4 redis.3 redis:7.4.1 worker1 Running Running 3 seconds ago
vs448yca2nz4 \_ redis.3 redis:7.4.0 worker1 Shutdown Shutdown 4 seconds ago
jf1i992619ir redis.4 redis:7.4.1 worker1 Running Running 10 seconds ago
blkttv7zs8ee \_ redis.4 redis:7.4.0 worker1 Shutdown Shutdown 11 seconds ago
El número de elementos en el historial de tareas está determinado por la opción
--task-history-limit que se configuró al inicializar el swarm. Puedes
cambiar el límite de retención del historial de tareas utilizando el comando
docker swarm update.
Al desplegar un servicio, docker resuelve el digest para la imagen del servicio,
y fija el servicio a ese digest. El digest no se muestra de forma predeterminada, pero se
imprime si se utiliza la opción --no-trunc. La opción --no-trunc también muestra el
ID de la tarea sin truncar, así como los mensajes de error, tal como se puede ver en el siguiente
ejemplo:
$ docker service ps --no-trunc redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
50qe8lfnxaxksi9w2a704wkp7 redis.1 redis:7.4.1@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 manager1 Running Running 5 minutes ago
ky2re9oz86r9556i2szb8a8af \_ redis.1 redis:7.4.0@sha256:f8829e00d95672c48c60f468329d6693c4bdd28d1f057e755f8ba8b40008682e worker2 Shutdown Shutdown 5 minutes ago
bk658fpbex0d57cqcwoe3jthu redis.2 redis:7.4.1@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 worker2 Running Running 5 seconds
nvjljf7rmor4htv7l8rwcx7i7 \_ redis.2 redis:7.4.1@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 worker2 Shutdown Rejected 5 minutes ago "No such image: redis@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842"
Filtrado (--filter)
El formato del flag de filtrado (-f o --filter) es un par clave=valor. Si hay
más de un filtro, pasa múltiples flags (por ejemplo, --filter "foo=bar" --filter "bif=baz").
Múltiples flags de filtrado se combinan como un filtro OR. Por ejemplo,
-f name=redis.1 -f name=redis.7 devuelve tanto las tareas de redis.1 como las de redis.7.
Los filtros admitidos actualmente son:
id
El filtro id coincide con todo el ID de una tarea o con su prefijo.
$ docker service ps -f "id=8" redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
8ryt076polmc redis.4 redis:7.4.1 worker1 Running Running 9 seconds
8eaxrb2fqpbn redis.10 redis:7.4.1 manager1 Running Running 8 seconds
name
El filtro name coincide con los nombres de las tareas.
$ docker service ps -f "name=redis.1" redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
qihejybwf1x5 redis.1 redis:7.4.1 manager1 Running Running 8 seconds
node
El filtro node coincide con un nombre de nodo o un ID de nodo.
$ docker service ps -f "node=manager1" redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
0qihejybwf1x redis.1 redis:7.4.1 manager1 Running Running 8 seconds
1x0v8yomsncd redis.5 redis:7.4.1 manager1 Running Running 8 seconds
3w1wu13yupln redis.9 redis:7.4.1 manager1 Running Running 8 seconds
8eaxrb2fqpbn redis.10 redis:7.4.1 manager1 Running Running 8 seconds
desired-state
El filtro desired-state puede tomar los valores running, shutdown o accepted.
Dar formato a la salida (--format)
Las opciones de formato (--format) muestran la salida de las tareas de forma más amigable
utilizando una plantilla Go.
A continuación se listan los marcadores de posición válidos para la plantilla Go:
| Marcador de posición | Descripción |
|---|---|
.ID | ID de la tarea |
.Name | Nombre de la tarea |
.Image | Imagen de la tarea |
.Node | ID del nodo |
.DesiredState | Estado deseado de la tarea (running, shutdown o accepted) |
.CurrentState | Estado actual de la tarea |
.Error | Error |
.Ports | Puertos publicados de la tarea |
Cuando se utiliza la opción --format, el comando service ps
mostrará los datos exactamente como los declara la plantilla o, cuando se utiliza la
directiva table, también incluirá los encabezados de las columnas.
El siguiente ejemplo utiliza una plantilla sin encabezados y muestra las
entradas de Name y Image separadas por dos puntos (:) para todas las tareas:
$ docker service ps --format "{{.Name}}: {{.Image}}" top
top.1: busybox
top.2: busybox
top.3: busybox