¿Cómo puedo imprimir fácilmente todos los nodos de enjambre acoplables disponibles con sus etiquetas?
Se agregaron etiquetas a los nodos como
$ docker node update --label-add type=one my_node_name
Y los nodos de lista predeterminados con docker node ls
no muestran filtros.
Además, puedo enumerar la etiqueta que inspecciona cada nodo como:
$ docker inspect my_node_name | grep type "type": "one"
---EDITAR--
Pregunta similar ¿Cómo filtro los nodos de enjambre de Docker por etiqueta? se trata de filtrar mi se trata de listar
Puedes ejecutar algo como:
docker node ls -q | xargs docker node inspect \ -f '{{ .ID }} [{{ .Description.Hostname }}]: {{ .Spec.Labels }}'
Puede ajustar eso para usar un rango para un formato más bonito en lugar de imprimir el mapa predeterminado:
docker node ls -q | xargs docker node inspect \ -f '{{ .ID }} [{{ .Description.Hostname }}]: {{ range $k, $v := .Spec.Labels }}{{ $k }}={{ $v }} {{end}}'
Siéntase libre de actualizar la salida formateada a los campos que necesita.
Versión principal de PowerShell:
docker node ls -q | ` ForEach-Object { ` docker node inspect $_ --format '{{ json . }}' | ` ConvertFrom-Json -Depth 99 } | ` Select-Object { $_.Description.Hostname }, { $_.Spec.Labels }