docker stack ps
| Descripción | Lista las tareas de la pila (stack) |
|---|---|
| Uso | docker stack ps [OPTIONS] STACK |
Swarm Este comando funciona con el orquestador de Swarm.
Descripción
Lista las tareas que se están ejecutando como parte de la pila (stack) especificada.
NoteEste es un comando de administración de clústeres y debe ejecutarse en un nodo administrador (manager) de swarm. Para obtener información sobre nodos 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 en función de las condiciones proporcionadas | |
--format | Da formato a la salida utilizando una plantilla personalizada: 'table': Muestra la salida en formato de tabla con encabezados de columna (predeterminado) 'table TEMPLATE': Muestra la salida en formato de tabla utilizando la plantilla de Go especificada 'json': Muestra la salida en formato JSON 'TEMPLATE': Muestra la salida utilizando la plantilla de Go especificada. Consulta https://docs-docker.esdocu.com/go/formatting/ para obtener más información sobre cómo dar formato a la salida con plantillas | |
--no-resolve | No asigna los IDs a Nombres | |
--no-trunc | No trunca la salida | |
-q, --quiet | Solo muestra los IDs de las tareas |
Ejemplos
Listar las tareas que forman parte de una pila
El siguiente comando muestra todas las tareas que forman parte de la pila voting:
$ docker stack ps voting
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
xim5bcqtgk1b voting_worker.1 dockersamples/examplevotingapp_worker:latest node2 Running Running 2 minutes ago
q7yik0ks1in6 voting_result.1 dockersamples/examplevotingapp_result:before node1 Running Running 2 minutes ago
rx5yo0866nfx voting_vote.1 dockersamples/examplevotingapp_vote:before node3 Running Running 2 minutes ago
tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 2 minutes ago
w48spazhbmxc voting_redis.1 redis:alpine node2 Running Running 3 minutes ago
6jj1m02freg1 voting_visualizer.1 dockersamples/visualizer:stable node1 Running Running 2 minutes ago
kqgdmededccb voting_vote.2 dockersamples/examplevotingapp_vote:before node2 Running Running 2 minutes ago
t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 3 minutes ago
Filtrado (--filter)
El formato de la opción de filtrado (-f o --filter) es un par clave=valor. Si hay más de un filtro, pasa múltiples opciones (por ejemplo, --filter "foo=bar" --filter "bif=baz"). Múltiples opciones de filtrado se combinan como un filtro OR. Por ejemplo, -f name=redis.1 -f name=redis.7 devuelve tanto la tarea redis.1 como la redis.7.
Los filtros soportados actualmente son:
id
El filtro id busca coincidencias con todo el ID de una tarea o con su prefijo.
$ docker stack ps -f "id=t" voting
ID NAME IMAGE NODE DESIRED STATE CURRENTSTATE ERROR PORTS
tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 14 minutes ago
t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 14 minutes ago
name
El filtro name busca coincidencias con los nombres de las tareas.
$ docker stack ps -f "name=voting_redis" voting
ID NAME IMAGE NODE DESIRED STATE CURRENTSTATE ERROR PORTS
w48spazhbmxc voting_redis.1 redis:alpine node2 Running Running 17 minutes ago
t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 17 minutes ago
node
El filtro node busca coincidencias con un nombre o un ID de nodo.
$ docker stack ps -f "node=node1" voting
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
q7yik0ks1in6 voting_result.1 dockersamples/examplevotingapp_result:before node1 Running Running 18 minutes ago
tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 18 minutes ago
6jj1m02freg1 voting_visualizer.1 dockersamples/visualizer:stable node1 Running Running 18 minutes ago
desired-state
El filtro desired-state puede tomar los valores running, shutdown, ready o accepted.
$ docker stack ps -f "desired-state=running" voting
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
xim5bcqtgk1b voting_worker.1 dockersamples/examplevotingapp_worker:latest node2 Running Running 21 minutes ago
q7yik0ks1in6 voting_result.1 dockersamples/examplevotingapp_result:before node1 Running Running 21 minutes ago
rx5yo0866nfx voting_vote.1 dockersamples/examplevotingapp_vote:before node3 Running Running 21 minutes ago
tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 21 minutes ago
w48spazhbmxc voting_redis.1 redis:alpine node2 Running Running 21 minutes ago
6jj1m02freg1 voting_visualizer.1 dockersamples/visualizer:stable node1 Running Running 21 minutes ago
kqgdmededccb voting_vote.2 dockersamples/examplevotingapp_vote:before node2 Running Running 21 minutes ago
t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 21 minutes ago
Dar formato a la salida (--format)
La opción de formato (--format) muestra las tareas de manera atractiva utilizando una plantilla de Go.
A continuación se enumeran los marcadores de posición (placeholders) válidos para la plantilla de 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 |
Al usar la opción --format, el comando stack 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 Name y Image separadas por dos puntos (:) para todas las tareas:
$ docker stack ps --format "{{.Name}}: {{.Image}}" voting
voting_worker.1: dockersamples/examplevotingapp_worker:latest
voting_result.1: dockersamples/examplevotingapp_result:before
voting_vote.1: dockersamples/examplevotingapp_vote:before
voting_db.1: postgres:9.4
voting_redis.1: redis:alpine
voting_visualizer.1: dockersamples/visualizer:stable
voting_vote.2: dockersamples/examplevotingapp_vote:before
voting_redis.2: redis:alpine
Para listar todas las tareas en formato JSON, utiliza la directiva json:
$ docker stack ps --format json myapp
{"CurrentState":"Preparing 23 seconds ago","DesiredState":"Running","Error":"","ID":"2ufjubh79tn0","Image":"localstack/localstack:latest","Name":"myapp_localstack.1","Node":"docker-desktop","Ports":""}
{"CurrentState":"Running 20 seconds ago","DesiredState":"Running","Error":"","ID":"roee387ngf5r","Image":"redis:6.0.9-alpine3.12","Name":"myapp_redis.1","Node":"docker-desktop","Ports":""}
{"CurrentState":"Preparing 13 seconds ago","DesiredState":"Running","Error":"","ID":"yte68ouq7glh","Image":"postgres:13.2-alpine","Name":"myapp_repos-db.1","Node":"docker-desktop","Ports":""}
No asignar IDs a Nombres (--no-resolve)
La opción --no-resolve muestra los IDs en lugar de los nombres de las tareas, sin realizar la asignación de IDs a Nombres.
$ docker stack ps --no-resolve voting
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
xim5bcqtgk1b 10z9fjfqzsxnezo4hb81p8mqg.1 dockersamples/examplevotingapp_worker:latest qaqt4nrzo775jrx6detglho01 Running Running 30 minutes ago
q7yik0ks1in6 hbxltua1na7mgqjnidldv5m65.1 dockersamples/examplevotingapp_result:before mxpaef1tlh23s052erw88a4w5 Running Running 30 minutes ago
rx5yo0866nfx qyprtqw1g5nrki557i974ou1d.1 dockersamples/examplevotingapp_vote:before kanqcxfajd1r16wlnqcblobmm Running Running 31 minutes ago
tz6j82jnwrx7 122f0xxngg17z52be7xspa72x.1 postgres:9.4 mxpaef1tlh23s052erw88a4w5 Running Running 31 minutes ago
w48spazhbmxc tg61x8myx563ueo3urmn1ic6m.1 redis:alpine qaqt4nrzo775jrx6detglho01 Running Running 31 minutes ago
6jj1m02freg1 8cqlyi444kzd3panjb7edh26v.1 dockersamples/visualizer:stable mxpaef1tlh23s052erw88a4w5 Running Running 31 minutes ago
kqgdmededccb qyprtqw1g5nrki557i974ou1d.2 dockersamples/examplevotingapp_vote:before qaqt4nrzo775jrx6detglho01 Running Running 31 minutes ago
t72q3z038jeh tg61x8myx563ueo3urmn1ic6m.2 redis:alpine kanqcxfajd1r16wlnqcblobmm Running Running 31 minutes ago
No truncar la salida (--no-trunc)
Al desplegar un servicio, Docker resuelve el digest de la imagen del servicio y lo fija a ese digest. El digest no se muestra de forma predeterminada, pero se imprime si se utiliza --no-trunc. La opción --no-trunc también muestra los IDs de las tareas sin truncar y los mensajes de error, como se puede ver a continuación:
$ docker stack ps --no-trunc voting
ID NAME IMAGE NODE DESIRED STATE CURREN STATE ERROR PORTS
xim5bcqtgk1bxqz91jzo4a1s5 voting_worker.1 dockersamples/examplevotingapp_worker:latest@sha256:3e4ddf59c15f432280a2c0679c4fc5a2ee5a797023c8ef0d3baf7b1385e9fed node2 Running Running 32 minutes ago
q7yik0ks1in6kv32gg6y6yjf7 voting_result.1 dockersamples/examplevotingapp_result:before@sha256:83b56996e930c292a6ae5187fda84dd6568a19d97cdb933720be15c757b7463 node1 Running Running 32 minutes ago
rx5yo0866nfxc58zf4irsss6n voting_vote.1 dockersamples/examplevotingapp_vote:before@sha256:8e64b182c87de902f2b72321c89b4af4e2b942d76d0b772532ff27ec4c6ebf6 node3 Running Running 32 minutes ago
tz6j82jnwrx7n2offljp3mn03 voting_db.1 postgres:9.4@sha256:6046af499eae34d2074c0b53f9a8b404716d415e4a03e68bc1d2f8064f2b027 node1 Running Running 32 minutes ago
w48spazhbmxcmbjfi54gs7x90 voting_redis.1 redis:alpine@sha256:9cd405cd1ec1410eaab064a1383d0d8854d1ef74a54e1e4a92fb4ec7bdc3ee7 node2 Running Running 32 minutes ago
6jj1m02freg1n3z9n1evrzsbl voting_visualizer.1 dockersamples/visualizer:stable@sha256:f924ad66c8e94b10baaf7bdb9cd491ef4e982a1d048a56a17e02bf5945401e5 node1 Running Running 32 minutes ago
kqgdmededccbhz2wuc0e9hx7g voting_vote.2 dockersamples/examplevotingapp_vote:before@sha256:8e64b182c87de902f2b72321c89b4af4e2b942d76d0b772532ff27ec4c6ebf6 node2 Running Running 32 minutes ago
t72q3z038jehe1wbh9gdum076 voting_redis.2 redis:alpine@sha256:9cd405cd1ec1410eaab064a1383d0d8854d1ef74a54e1e4a92fb4ec7bdc3ee7 node3 Running Running 32 minutes ago
Solo mostrar los IDs de las tareas (-q, --quiet)
La opción -q o --quiet solo muestra los IDs de las tareas en la pila.
Este ejemplo muestra todos los IDs de las tareas de la pila voting:
$ docker stack ps -q voting
xim5bcqtgk1b
q7yik0ks1in6
rx5yo0866nfx
tz6j82jnwrx7
w48spazhbmxc
6jj1m02freg1
kqgdmededccb
t72q3z038jeh
Esta opción se puede utilizar para realizar operaciones por lotes. Por ejemplo, puedes usar los IDs de las tareas como entrada para otros comandos, como docker inspect. El siguiente ejemplo inspecciona todas las tareas de la pila voting:
$ docker inspect $(docker stack ps -q voting)
[
{
"ID": "xim5bcqtgk1b1gk0krq1",
"Version": {
<...>