# docker service ls

**Descripción:** Lista los servicios

**Uso:** `docker service ls [OPTIONS]`

**Alias:** `docker service list`






**Orquestador:** Swarm

## Descripción

Este comando lista los servicios que se están ejecutando en el swarm.

> [!NOTE]
> Este 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](/engine/swarm/) en la
> documentación.


## Opciones

| Opción                                                        | Predeterminado                                        | Descripción                                                                                                                                    |
| ------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|  | `-f`, `--filter` |  |  Filtra la salida según las condiciones proporcionadas |

 | `--format` |  |  Da formato a la salida utilizando una plantilla personalizada:<br>'table':            Imprime la salida en formato de tabla con encabezados de columna (predeterminado)<br>'table TEMPLATE':   Imprime la salida en formato de tabla utilizando la plantilla Go especificada<br>'json':             Imprime en formato JSON<br>'TEMPLATE':         Imprime la salida utilizando la plantilla 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

En un nodo administrador:

```console
$ docker service ls

ID            NAME      MODE            REPLICAS             IMAGE
c8wgl7q4ndfd  frontend  replicated      5/5                  nginx:alpine
dmu1ept4cxcf  redis     replicated      3/3                  redis:7.4.1
iwe3278osahj  mongo     global          7/7                  mongo:3.3
hh08h9uu8uwr  job       replicated-job  1/1 (3/5 completed)  nginx:latest
```

La columna `REPLICAS` muestra tanto el número real como el deseado de tareas para
el servicio. Si el servicio está en `replicated-job` o `global-job`, mostrará
además el estado de finalización del trabajo como tareas completadas sobre el
total de tareas que ejecutará el trabajo.

### Filtrado (--filter) {#filter}

El formato del flag de filtrado (`-f` o `--filter`) es "clave=valor". Si hay más
de un filtro, pasa múltiples flags (por ejemplo, `--filter "foo=bar" --filter "bif=baz"`).

Los filtros admitidos actualmente son:

* [id](/reference/cli/docker/service/ls/#id)
* [label](/reference/cli/docker/service/ls/#label)
* [mode](/reference/cli/docker/service/ls/#mode)
* [name](/reference/cli/docker/service/ls/#name)

#### id

El filtro `id` coincide con todo el ID de un servicio o con su prefijo.

El siguiente filtro coincide con los servicios con un ID que comienza con `0bcjw`:

```console
$ docker service ls -f "id=0bcjw"
ID            NAME   MODE        REPLICAS  IMAGE
0bcjwfh8ychr  redis  replicated  1/1       redis:7.4.1
```

#### label

El filtro `label` coincide con los servicios según la presencia únicamente de la etiqueta (`label`) o
de la etiqueta y su valor.

El siguiente filtro coincide con todos los servicios que tengan la etiqueta `project`, independientemente de
su valor:

```console
$ docker service ls --filter label=project
ID            NAME       MODE        REPLICAS  IMAGE
01sl1rp6nj5u  frontend2  replicated  1/1       nginx:alpine
36xvvwwauej0  frontend   replicated  5/5       nginx:alpine
74nzcxxjv6fq  backend    replicated  3/3       redis:7.4.1
```

El siguiente filtro coincide solo con aquellos servicios que tengan la etiqueta `project` con el
valor `project-a`.

```console
$ docker service ls --filter label=project=project-a
ID            NAME      MODE        REPLICAS  IMAGE
36xvvwwauej0  frontend  replicated  5/5       nginx:alpine
74nzcxxjv6fq  backend   replicated  3/3       redis:7.4.1
```

#### mode

El filtro `mode` coincide con el modo (ya sea `replicated` o `global`) de un servicio.

El siguiente filtro coincide solo con los servicios globales (`global`).

```console
$ docker service ls --filter mode=global
ID                  NAME                MODE                REPLICAS            IMAGE
w7y0v2yrn620        top                 global              1/1                 busybox
```

#### name

El filtro `name` coincide con todo el nombre del servicio o con su prefijo.

El siguiente filtro coincide con los servicios cuyo nombre comienza con `redis`.

```console
$ docker service ls --filter name=redis
ID            NAME   MODE        REPLICAS  IMAGE
0bcjwfh8ychr  redis  replicated  1/1       redis:7.4.1
```

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

Las opciones de formato (`--format`) muestran la salida de los servicios 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 del servicio                          |
| `.Name`     | Nombre del servicio                     |
| `.Mode`     | Modo de servicio (replicated, global)   |
| `.Replicas` | Réplicas del servicio                    |
| `.Image`    | Imagen del servicio                     |
| `.Ports`    | Puertos del servicio publicados en modo ingress |

Cuando se utiliza la opción `--format`, el comando `service ls`
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 `ID`, `Mode` y `Replicas` separadas por dos puntos (`:`) para todos los servicios:

```console
$ docker service ls --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 service ls --format json
{"ID":"ssniordqolsi","Image":"hello-world:latest","Mode":"replicated","Name":"hello","Ports":"","Replicas":"0/1"}
```



