docker node ps

内容説明1 つまたは複数ノードにおいて実行中のタスク一覧を表示します。デフォルトはカレントノードのみです。
利用方法docker node ps [OPTIONS] [NODE...]

Swarm このコマンドは Swarm オーケストレーターにおいて動作します。

内容説明

Docker が管理しているノード上でのタスクを一覧表示します。 -f または --filter フラグを使えばフィルター検索を行うことができます。 フィルター検索時のオプションの詳細は フィルター検索 の節を参照してください。

メモ

これはクラスター管理コマンドであるため、Swarm のマネージャーノード上で実行する必要があります。 マネージャーノードとワーカーノードについては、本ドキュメントの Swarm モード を参照してください。

オプション

オプションデフォルト内容説明
-f, --filter指定された条件に基づいてフィルター検索を行います。
--formatGo 言語テンプレートを使って出力をフォーマットします。
--no-resolveノード ID からノード名にマップしません。
--no-trunc詳細出力を行います。
-q, --quietタスク ID のみを表示します。

利用例

$ docker node ps swarm-manager1

NAME                                IMAGE        NODE            DESIRED STATE  CURRENT STATE
redis.1.7q92v0nr1hcgts2amcjyqg3pq   redis:7.4.1  swarm-manager1  Running        Running 5 hours
redis.6.b465edgho06e318egmgjbqo4o   redis:7.4.1  swarm-manager1  Running        Running 29 seconds
redis.7.bg8c07zzg87di2mufeq51a2qp   redis:7.4.1  swarm-manager1  Running        Running 5 seconds
redis.9.dkkual96p4bb3s6b10r7coxxt   redis:7.4.1  swarm-manager1  Running        Running 5 seconds
redis.10.0tgctg8h8cech4w0k0gwrmr23  redis:7.4.1  swarm-manager1  Running        Running 5 seconds

フィルター検索 (--filter)

フィルターフラグ (-f または --filter) の書式は "key=value" ペアとして指定します。 フィルターが複数必要な場合は、フラグを複数回指定します (たとえば --filter "foo=bar" --filter "bif=baz" とします)。

現在サポートされているフィルターは以下のとおりです。

name

name フィルターはタスク名の全部または一部を検索します。

以下の例では redis という文字列を名前に含んだタスクすべてを検索します。

$ docker node ps -f name=redis swarm-manager1

NAME                                IMAGE        NODE            DESIRED STATE  CURRENT STATE
redis.1.7q92v0nr1hcgts2amcjyqg3pq   redis:7.4.1  swarm-manager1  Running        Running 5 hours
redis.6.b465edgho06e318egmgjbqo4o   redis:7.4.1  swarm-manager1  Running        Running 29 seconds
redis.7.bg8c07zzg87di2mufeq51a2qp   redis:7.4.1  swarm-manager1  Running        Running 5 seconds
redis.9.dkkual96p4bb3s6b10r7coxxt   redis:7.4.1  swarm-manager1  Running        Running 5 seconds
redis.10.0tgctg8h8cech4w0k0gwrmr23  redis:7.4.1  swarm-manager1  Running        Running 5 seconds

id

id フィルターはタスク ID を検索します。

$ docker node ps -f id=bg8c07zzg87di2mufeq51a2qp swarm-manager1

NAME                                IMAGE        NODE            DESIRED STATE  CURRENT STATE
redis.7.bg8c07zzg87di2mufeq51a2qp   redis:7.4.1  swarm-manager1  Running        Running 5 seconds

label

label フィルターは、label のみが存在するタスクか、あるいは label と値が存在するタスクに対しての検索を行います。

以下の例では usage ラベルを持ったタスクを検索します。 この場合、その値の内容は問いません。

$ docker node ps -f "label=usage"

NAME                               IMAGE        NODE            DESIRED STATE  CURRENT STATE
redis.6.b465edgho06e318egmgjbqo4o  redis:7.4.1  swarm-manager1  Running        Running 10 minutes
redis.7.bg8c07zzg87di2mufeq51a2qp  redis:7.4.1  swarm-manager1  Running        Running 9 minutes

desired-state

desired-state フィルターでは runningshutdownaccepted を指定することができます。

フォーマット指定 (--format)

フォーマットオプション (--format) の指定により、Go 言語テンプレートを使ったわかりやすい検索結果を得ることができます。

Go 言語テンプレートによるプレースホルダー(placeholder)は以下のとおりです。

プレースホルダー内容説明
.IDタスク ID
.Nameタスク名
.Imageタスクイメージ
.Nodeノード ID
.DesiredState期待するタスクの状態 (running, shutdown, accepted)
.CurrentStateタスクの現在の状態
.Errorエラー
.Portsタスクの公開ポート

--format オプションを利用すると node ps コマンドは、テンプレートが定めるデータを直接出力します。 あるいは table ディレクティブを指定していれば、カラムヘッダーも同時に出力されます。

以下はヘッダーを含めずにテンプレートを利用する例です。 すべてのタスクにおける NameImage の各項目がコロン (:) で区切られて表示されます。

$ docker node ps --format "{{.Name}}: {{.Image}}"

top.1: busybox
top.2: busybox
top.3: busybox