docker service ls
| Descripción | Lista los servicios |
|---|---|
| Uso | docker service ls [OPTIONS] |
| Alias | docker service list |
Swarm Este comando funciona con el orquestador de Swarm.
Descripción
Este comando lista los servicios que se están ejecutando en el swarm.
NoteEste 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 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: 'table': Imprime la salida en formato de tabla con encabezados de columna (predeterminado) 'table TEMPLATE': Imprime la salida en formato de tabla utilizando la plantilla Go especificada 'json': Imprime en formato JSON 'TEMPLATE': Imprime la salida utilizando la plantilla 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 | |
-q, --quiet | Solo muestra los IDs |
Ejemplos
En un nodo administrador:
$ 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)
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
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:
$ 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:
$ 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.
$ 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).
$ 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.
$ 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)
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:
$ 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:
$ docker service ls --format json
{"ID":"ssniordqolsi","Image":"hello-world:latest","Mode":"replicated","Name":"hello","Ports":"","Replicas":"0/1"}