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

pba*_*ski 16 label docker docker-swarm

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

添加标签到节点
$ docker node update --label-add type=one my_node_name
和默认列表节点docker node ls没有显示过滤器.

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

$ docker inspect my_node_name | grep type 
"type": "one"
Run Code Online (Sandbox Code Playgroud)

- -编辑 -

类似的问题如何按标签过滤docker swarm节点?是关于过滤我的是关于列表

BMi*_*tch 36

你可以运行类似的东西:

docker node ls -q | xargs docker node inspect \
  -f '{{ .ID }} [{{ .Description.Hostname }}]: {{ .Spec.Labels }}'
Run Code Online (Sandbox Code Playgroud)

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

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

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