docker stack services
| Descripción | Lista los servicios de la pila (stack) |
|---|---|
| Uso | docker stack services [OPTIONS] STACK |
Swarm Este comando funciona con el orquestador de Swarm.
Descripción
Lista los servicios que se están ejecutando como parte de la pila (stack) especificada.
NoteEste 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ó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: '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 | |
-q, --quiet | Solo muestra los IDs |
Ejemplos
El siguiente comando muestra todos los servicios de la pila myapp:
$ 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)
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:
$ 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)
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:
$ 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:
$ 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"}