如何使用标签列出docker swarm节点

问题描述 投票:11回答:1

如何轻松打印所有可用的docker swarm节点及其标签?

为节点添加了标签 $ docker node update --label-add type=one my_node_name 并且docker node ls的默认列表节点没有显示过滤器。

另外我可以列出标签检查每个节点,如:

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

- -编辑 -

类似的问题How do I filter docker swarm nodes by label?是关于过滤我的关于上市

docker label docker-swarm
1个回答
32
投票

你可以运行类似的东西:

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

您可以调整它以使用范围进行更漂亮的格式化,而不是打印默认地图:

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

您可以随意将格式化的输出更新为您需要的字段。

© www.soinside.com 2019 - 2024. All rights reserved.