Compartir comentarios
Las respuestas se generan en base a la documentación.

docker stack services

DescripciónLista los servicios de la pila (stack)
Usodocker 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.

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 en la documentación.

Opciones

OpciónPredeterminadoDescripción
-f, --filterFiltra la salida en función de las condiciones proporcionadas
--formatDa 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, --quietSolo 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ónDescripción
.IDID del servicio
.NameNombre del servicio
.ModeModo del servicio (replicated, global)
.ReplicasRéplicas del servicio
.ImageImagen 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"}