docker node ls¶
説明¶
swarm 内のノードを一覧表示します。
【API 1.24+】このコマンドを使うには、クライアントとデーモン API の両方が、少なくとも 1.24 の必要があります。クライアントとデーモン API のバージョンを調べるには、 docker version コマンドを使います。
【Swarm】このコマンドは Swarm オーケストレータで動作します。
使い方¶
$ docker node ls [OPTIONS]
補足説明¶
Docker Swarm マネージャ自身が把握している全ノード一覧を表示します。 -f か --filter フラグを使い、フィルタできます。利用可能なフィルタの詳しいオプションについては、 フィルタリング のセクションをご覧ください。
注釈
これはクラスタ管理コマンドであり、 swarm manager ノードで実行する必要があります。manager と worker について学ぶには、ドキュメント内の Swarm モードのセクション を参照ください。
コマンドの使用例は、以下の 使用例のセクション をご覧ください。
オプション¶
名前, 省略形 |
デフォルト |
説明 |
|---|---|---|
|
指定した状況に基づき出力をフィルタ |
|
|
指定した Go テンプレートを使って出力を整形 |
|
|
ID のみ表示 |
使用例¶
$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
1bcef6utixb0l0ca7gxuivsj0 swarm-worker2 Ready Active
38ciaotwjuritcdtn9npbnkuz swarm-worker1 Ready Active
e216jshn25ckzbvmwlnh5jr3g * swarm-manager1 Ready Active Leader
注釈
上の出力例には、ノードが現在の docker デーモンと同じノードかどうかを示す、表示されていない .Self 列があります。 * (例 e216jshn25ckzbvmwlnh5jr3g * )は、このノードが現在の docker デーモンだと示します。
フィルタリング¶
フィルタリング・フラグ( -f か --filter )の書式は「キー=値」です。複数のフィルタを指定するには、複数回フラグを指定します(例: --filter "foo=bar" --filter "bif=baz" )。
現時点で次のフィルタをサポートしています:
node.label
name
id¶
id フィルタは、ノード ID の全てもしくは一部と一致します。
$ docker node ls -f id=1
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
1bcef6utixb0l0ca7gxuivsj0 swarm-worker2 Ready Active
label¶
label フィルタで一致するのは、 engine 上のラベルと、 label 単体か label の値に対してです。 engine のラベルとは node のラベルでフィルタをするには、
以下のフィルタは、値にかかわらず foo のラベルを持つノードに一致します。
$ docker node ls -f "label=foo"
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
1bcef6utixb0l0ca7gxuivsj0 swarm-worker2 Ready Active
node.label¶
node.label フィルタで一致するのは、ノード上のラベルと、 node.label 単体か node.label の値に対してです。
以下のフィルタは、 region ノード・ラベルを持つノードを更新します。
$ docker node update --label-add region=region-a swarm-test-01
$ docker node update --label-add region=region-a swarm-test-02
$ docker node update --label-add region=region-b swarm-test-03
$ docker node update --label-add region=region-b swarm-test-04
region ノード・ラベルが設定されている全てのノードを表示します。
$ docker node ls --filter node.label=region
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
yg550ettvsjn6g6t840iaiwgb * swarm-test-01 Ready Active Leader 20.10.2
2lm9w9kbepgvkzkkeyku40e65 swarm-test-02 Ready Active Reachable 20.10.2
hc0pu7ntc7s4uvj4pv7z7pz15 swarm-test-03 Ready Active Reachable 20.10.2
n41b2cijmhifxxvz56vwrs12q swarm-test-04 Ready Active 20.10.2
region ノード・ラベルの値が region-a に設定されている全てのノードを表示します。
$ docker node ls --filter node.label=region=region-a
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
yg550ettvsjn6g6t840iaiwgb * swarm-test-01 Ready Active Leader 20.10.2
2lm9w9kbepgvkzkkeyku40e65 swarm-test-02 Ready Active Reachable 20.10.2
membership¶
membership フィルタで一致するのは、ノード上のラベルに membership があり、値が accepted もしくは pending に対してです。
以下のフィルタは、 membership が accepted に一致するノードです。
$ docker node ls -f "membership=accepted"
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
1bcef6utixb0l0ca7gxuivsj0 swarm-worker2 Ready Active
38ciaotwjuritcdtn9npbnkuz swarm-worker1 Ready Active
name¶
name フィルタは、タスク名の全てもしくは一部に一致します。
以下は swarm-master 文字列に一致するノードでフィルタします。
$ docker node ls -f name=swarm-manager1
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
e216jshn25ckzbvmwlnh5jr3g * swarm-manager1 Ready Active Leader
role¶
role フィルタで一致するのは、ノード上のラベルに role があり、値が worker もしくは manager に対してです。
以下のフィルタは、 manager ロールに一致するノードです。
$ docker node ls -f "role=manager"
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
e216jshn25ckzbvmwlnh5jr3g * swarm-manager1 Ready Active Leader
表示形式¶
フォーマット・オプション( --format )は Go テンプレートを使いノードの出力を見やすくします。
Go テンプレートで有効なプレースホルダは以下の通りです。
プレースホルダ |
説明 |
|---|---|
|
ノード ID |
|
デーモンのノード( |
|
ノードのホスト名 |
|
ノード状態 |
|
ノードの利用状況( |
|
ノードの manager 状態 |
|
ノードの TLS ステータス( |
|
Engine のバージョン |
--format オプションの使用時、 node ls コマンドはテンプレートで宣言した通りにデータを出力します。あるいは、 table ディレクティブがあれば列のヘッダも表示するかのどちらかです。
以下の例は ID と Hostname と TLS Status のエントリをテンプレートで指定します。そして、コロン( : )区切りで全てのイメージを表示します。
$ docker node ls --format "{{.ID}}: {{.Hostname}} {{.TLSStatus}}"
e216jshn25ckzbvmwlnh5jr3g: swarm-manager1 Ready
35o6tiywb700jesrt3dmllaza: swarm-worker1 Needs Rotation
親コマンド¶
コマンド |
説明 |
|---|---|
Swarm ノードを管理 |
関連コマンド¶
コマンド |
説明 |
|---|---|
swarm 内の manager から1つまたは複数のノードを |
|
1つまたは複数ノードの詳細情報を表示 |
|
swarm 内のノードを一覧表示 |
|
swarm 内の1つまたは複数のノードを manager に |
|
1つまたは複数のノード上で実行しているタスク一覧を表示。デフォルトは現在のノード上 |
|
swarm 内の1つまたは複数のノードを削除 |
|
ノードを更新 |
参考