如何轻松打印所有可用的 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 node ls -q | xargs docker node inspect \
-f '{{ .ID }} [{{ .Description.Hostname }}]: {{ .Spec.Labels }}'
您可以调整它以使用更漂亮的格式设置范围,而不是打印默认 map :
docker node ls -q | xargs docker node inspect \
-f '{{ .ID }} [{{ .Description.Hostname }}]: {{ range $k, $v := .Spec.Labels }}{{ $k }}={{ $v }} {{end}}'
随意将格式化输出更新为您需要的字段。
关于docker - 如何使用标签列出 docker swarm 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42414703/