# docker stack services

**Descripción:** Lista los servicios de la pila (stack)

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








**Orquestador:** Swarm

## Descripción

Lista los servicios 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 |

 | `-q`, `--quiet` |  |  Solo muestra los IDs |




## Ejemplos

El siguiente comando muestra todos los servicios de la pila `myapp`:

```console
$ docker stack services myapp

ID            NAME            REPLICAS  IMAGE                                                                          COMMAND
7be5ei6sqeye  myapp_web       1/1       nginx@sha256:23f809e7fd5952e7d5be065b4d3643fbbceccd349d537b62a123ef2201bc886f
dn7m7nhhfb9y  myapp_db        1/1       mysql@sha256:a9a5b559f8821fe73d58c3606c812d1c044868d42c63817fa5125fd9d8b7b539
```

### 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`.

El siguiente comando muestra tanto el servicio `web` como el `db`:

```console
$ docker stack services --filter name=myapp_web --filter name=myapp_db myapp

ID            NAME            REPLICAS  IMAGE                                                                          COMMAND
7be5ei6sqeye  myapp_web       1/1       nginx@sha256:23f809e7fd5952e7d5be065b4d3643fbbceccd349d537b62a123ef2201bc886f
dn7m7nhhfb9y  myapp_db        1/1       mysql@sha256:a9a5b559f8821fe73d58c3606c812d1c044868d42c63817fa5125fd9d8b7b539
```

Los filtros soportados actualmente son:

* id / ID (`--filter id=7be5ei6sqeye`, o `--filter ID=7be5ei6sqeye`)
* label (`--filter label=clave=valor`)
* mode (`--filter mode=replicated`, o `--filter mode=global`)
  * Swarm: no compatible
* name (`--filter name=myapp_web`)
* node (`--filter node=mynode`)
  * Swarm: no compatible
* service (`--filter service=web`)
  * Swarm: no compatible

### Dar formato a la salida (--format) {#format}

La opción de formato (`--format`) muestra los servicios 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 del servicio |
| `.Name`     | Nombre del servicio |
| `.Mode`     | Modo del servicio (replicated, global) |
| `.Replicas` | Réplicas del servicio |
| `.Image`    | Imagen del servicio |

Al usar la opción `--format`, el comando `stack services` 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 `ID`, `Mode` y `Replicas` separadas por dos puntos (`:`) para todos los servicios:

```console
$ docker stack services --format "{{.ID}}: {{.Mode}} {{.Replicas}}"

0zmvwuiu3vue: replicated 10/10
fm6uf97exkul: global 5/5
```

Para listar todos los servicios en formato JSON, utiliza la directiva `json`:

```console
$ docker stack services ls --format json
{"ID":"0axqbl293vwm","Image":"localstack/localstack:latest","Mode":"replicated","Name":"myapp_localstack","Ports":"*:4566-\u003e4566/tcp, *:8080-\u003e8080/tcp","Replicas":"0/1"}
{"ID":"384xvtzigz3p","Image":"redis:6.0.9-alpine3.12","Mode":"replicated","Name":"myapp_redis","Ports":"*:6379-\u003e6379/tcp","Replicas":"1/1"}
{"ID":"hyujct8cnjkk","Image":"postgres:13.2-alpine","Mode":"replicated","Name":"myapp_repos-db","Ports":"*:5432-\u003e5432/tcp","Replicas":"0/1"}
```



