web-dev-qa-db-ja.com

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"

---編集-

同様の質問 docker swarmノードをラベルでフィルタリングするにはどうすればよいですか? フィルタリングについてです

17
pbaranski

あなたは次のようなものを実行できます:

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

フォーマットされた出力を必要なフィールドに自由に更新してください。

41
BMitch