如何轻松打印所有可用的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 }}'
您可以调整它以使用范围进行更漂亮的格式化,而不是打印默认地图:
docker node ls -q | xargs docker node inspect \
-f '{{ .ID }} [{{ .Description.Hostname }}]: {{ range $k, $v := .Spec.Labels }}{{ $k }}={{ $v }} {{end}}'
您可以随意将格式化的输出更新为您需要的字段。