如何列出 docker 个带标签的群节点
How to list docker swarm nodes with labels
如何轻松打印所有可用的 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}}'
随时将格式化输出更新为您需要的字段。
PowerShell 核心版本:
docker node ls -q | `
ForEach-Object { `
docker node inspect $_ --format '{{ json . }}' | `
ConvertFrom-Json -Depth 99 } | `
Select-Object { $_.Description.Hostname }, { $_.Spec.Labels }
如何轻松打印所有可用的 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}}'
随时将格式化输出更新为您需要的字段。
PowerShell 核心版本:
docker node ls -q | `
ForEach-Object { `
docker node inspect $_ --format '{{ json . }}' | `
ConvertFrom-Json -Depth 99 } | `
Select-Object { $_.Description.Hostname }, { $_.Spec.Labels }