web-dev-qa-db-fra.com

Comment répertorier les nœuds swarm docker avec des étiquettes

Comment imprimer facilement tous les nœuds d'essaimage Docker disponibles avec leurs étiquettes?

Ajout d'étiquettes aux nœuds comme
$ docker node update --label-add type=one my_node_name
Et liste des nœuds par défaut avec docker node ls ne montrant pas les filtres.

De plus, je peux lister les étiquettes inspectant chaque nœud comme:

$ docker inspect my_node_name | grep type 
"type": "one"

---ÉDITER--

Question similaire Comment puis-je filtrer les nœuds d'essaimage Docker par étiquette? concerne le filtrage de mon is about list

17
pbaranski

Vous pouvez exécuter quelque chose comme:

docker node ls -q | xargs docker node inspect \
  -f '{{ .ID }} [{{ .Description.Hostname }}]: {{ .Spec.Labels }}'

Vous pouvez ajuster cela pour utiliser une plage pour un formatage plus joli au lieu d'imprimer la carte par défaut:

docker node ls -q | xargs docker node inspect \
  -f '{{ .ID }} [{{ .Description.Hostname }}]: {{ range $k, $v := .Spec.Labels }}{{ $k }}={{ $v }} {{end}}'

N'hésitez pas à mettre à jour la sortie formatée dans les champs dont vous avez besoin.

41
BMitch