# docker stack ps

**Descripción:** Lista las tareas de la pila (stack)

**Uso:** `docker stack ps [OPTIONS] STACK`








**Orquestador:** 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](/engine/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:<br>'table':            Muestra la salida en formato de tabla con encabezados de columna (predeterminado)<br>'table TEMPLATE':   Muestra la salida en formato de tabla utilizando la plantilla de Go especificada<br>'json':             Muestra la salida en formato JSON<br>'TEMPLATE':         Muestra la salida utilizando la plantilla de Go especificada.<br>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`:

```console
$ 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) {#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](#id)
* [name](#name)
* [node](#node)
* [desired-state](#desired-state)

#### id

El filtro `id` busca coincidencias con todo el ID de una tarea o con su prefijo.

```console
$ 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.

```console
$ 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.

```console
$ 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`.

```console
$ 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) {#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:

```console
$ 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`:
```console
$ 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) {#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.

```console
$ 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) {#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:

```console
$ 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) {#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`:

```console
$ 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`:

```console
$ docker inspect $(docker stack ps -q voting)

[
    {
        "ID": "xim5bcqtgk1b1gk0krq1",
        "Version": {
<...>
```



