Compartir comentarios
Las respuestas se generan en base a la documentación.

docker stack ps

DescripciónLista las tareas de la pila (stack)
Usodocker 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.

Note

Este 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ónPredeterminadoDescripción
-f, --filterFiltra la salida en función de las condiciones proporcionadas
--formatDa 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-resolveNo asigna los IDs a Nombres
--no-truncNo trunca la salida
-q, --quietSolo 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ónDescripción
.IDID de la tarea
.NameNombre de la tarea
.ImageImagen de la tarea
.NodeID del nodo
.DesiredStateEstado deseado de la tarea (running, shutdown o accepted)
.CurrentStateEstado actual de la tarea
.ErrorError
.PortsPuertos 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": {
<...>