如何用标签列出docker swarm节点

我如何轻松打印所有可用的docker群节点与他们的标签?

像节点添加标签
$ docker node update --label-add type=one my_node_name
docker node ls默认列表节点不显示filter。

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

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

– -编辑 –

相似的问题如何通过标签过滤docker群节点? 是关于过滤我的是关于上市

你可以运行如下的东西:

 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}}' 

随意更新格式化的输出到你需要的字段。