docker stack ps
読む時間の目安: 6 分
説明
Stack 内のタスク一覧を表示します。
API 1.25 以上
このコマンドを利用するには、クライアントとデーモンの API はともに、最低でも
1.25
である必要があります。
クライアント上においてdocker version
コマンドを実行して、クライアントとデーモンの API バージョンを確認してください。
利用方法
$ docker stack ps [オプション] STACK
追加説明
指定された Stack の一部として起動しているタスクを一覧表示します。
メモ
これはクラスター管理コマンドです。 したがって Swarm 上のマネージャーノードにおいて実行する必要があります。 マネージャーノードやワーカーノードについては、Swarm モード を参照してください。
本コマンドの利用例については、以下に示す 利用例の節 を参照してください。
オプション
名前/省略形 | デフォルト | 説明 |
--filter , -f |
指定された条件に基づいてフィルター検索を行います。 | |
--format |
Go 言語テンプレートを使って出力をフォーマットします。 | |
--namespace |
deprecatedKubernetes Kubernetes 名前空間を指定します。 |
|
--no-resolve |
ID から名前へのマッピングは行わないようにします。 | |
--no-trunc |
詳細出力を行います。 | |
--quiet , -q |
タスク ID のみを表示します。 | |
--kubeconfig |
deprecatedKubernetes Kubernetes 設定ファイルを指定します。 |
|
--orchestrator |
deprecated オーケストレーターを指定します。(swarm|kubernetes|all) |
利用例
Stack の一部であるタスクの一覧表示
以下のコマンドはvoting
Stack の一部であるタスクを一覧表示します。
$ docker stack ps voting
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
xim5bcqtgk1b voting_worker.1 dockersamples/examplevotingapp_worker:latest node2 Running Running 2 minutes ago
q7yik0ks1in6 voting_result.1 dockersamples/examplevotingapp_result:before node1 Running Running 2 minutes ago
rx5yo0866nfx voting_vote.1 dockersamples/examplevotingapp_vote:before node3 Running Running 2 minutes ago
tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 2 minutes ago
w48spazhbmxc voting_redis.1 redis:alpine node2 Running Running 3 minutes ago
6jj1m02freg1 voting_visualizer.1 dockersamples/visualizer:stable node1 Running Running 2 minutes ago
kqgdmededccb voting_vote.2 dockersamples/examplevotingapp_vote:before node2 Running Running 2 minutes ago
t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 3 minutes ago
フィルター検索
フィルターフラグ(-f
または--filter
)の指定書式は「キー=値」というものです。
複数のフィルターが必要な場合は、フラグを複数指定します。
(たとえば--filter "foo=bar" --filter "bif=baz"
など。)
複数のフィルターフラグは、OR
フィルターとして結合されます。
たとえば-f name=redis.1 -f name=redis.7
はredis.1
とredis.7
の 2 つのタスクを返します。
現在サポートされているフィルターは以下のとおりです。
id フィルター
id
フィルターは、タスク ID の全部またはそのプリフィックス部分を検索します。
$ docker stack ps -f "id=t" voting
ID NAME IMAGE NODE DESIRED STATE CURRENTSTATE ERROR PORTS
tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 14 minutes ago
t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 14 minutes ago
name フィルター
name
フィルターは、タスク名を検索します。
$ docker stack ps -f "name=voting_redis" voting
ID NAME IMAGE NODE DESIRED STATE CURRENTSTATE ERROR PORTS
w48spazhbmxc voting_redis.1 redis:alpine node2 Running Running 17 minutes ago
t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 17 minutes ago
node
node
フィルターは、ノード名またはノード ID に検索合致します。
$ docker stack ps -f "node=node1" voting
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
q7yik0ks1in6 voting_result.1 dockersamples/examplevotingapp_result:before node1 Running Running 18 minutes ago
tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 18 minutes ago
6jj1m02freg1 voting_visualizer.1 dockersamples/visualizer:stable node1 Running Running 18 minutes ago
desired-state
desired-state
フィルターは、running
、shutdown
、ready
、accepted
のいずれかを指定します。
$ docker stack ps -f "desired-state=running" voting
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
xim5bcqtgk1b voting_worker.1 dockersamples/examplevotingapp_worker:latest node2 Running Running 21 minutes ago
q7yik0ks1in6 voting_result.1 dockersamples/examplevotingapp_result:before node1 Running Running 21 minutes ago
rx5yo0866nfx voting_vote.1 dockersamples/examplevotingapp_vote:before node3 Running Running 21 minutes ago
tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 21 minutes ago
w48spazhbmxc voting_redis.1 redis:alpine node2 Running Running 21 minutes ago
6jj1m02freg1 voting_visualizer.1 dockersamples/visualizer:stable node1 Running Running 21 minutes ago
kqgdmededccb voting_vote.2 dockersamples/examplevotingapp_vote:before node2 Running Running 21 minutes ago
t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 21 minutes ago
フォーマット設定
フォーマット設定オプション(--format
)により Go 言語のテンプレートを利用して、タスクをわかりやすく出力することができます。
Go 言語テンプレートによるプレースホルダー(placeholder)は以下のとおりです。
プレースホルダー | 内容説明 |
---|---|
.ID |
タスク ID |
.Name |
タスク名 |
.Image |
タスクイメージ |
.Node |
ノード ID |
.DesiredState |
タスク状態(running 、shutdown 、accepted ) |
.CurrentState |
タスクの現在の状態 |
.Error |
エラー |
.Ports |
タスクが公開するポート |
--format
オプションを利用するとstack ps
コマンドは、テンプレートが定めるデータを直接出力します。
またtable
ディレクティブを利用すると、カラムヘッダーも同時に出力されます。
以下は、ヘッダーを含めずにテンプレートを利用する例であり、すべてのタスクにおけるName
、Image
の各項目がコロン(:
)で区切って表示されます。
$ docker stack ps --format "{{.Name}}: {{.Image}}" voting
voting_worker.1: dockersamples/examplevotingapp_worker:latest
voting_result.1: dockersamples/examplevotingapp_result:before
voting_vote.1: dockersamples/examplevotingapp_vote:before
voting_db.1: postgres:9.4
voting_redis.1: redis:alpine
voting_visualizer.1: dockersamples/visualizer:stable
voting_vote.2: dockersamples/examplevotingapp_vote:before
voting_redis.2: redis:alpine
ID から名前へのマッピング禁止
--no-resolve
オプションはタスク名に対応した ID を表示するものであり、ID から名前へのマッピングは行いません。
$ docker stack ps --no-resolve voting
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
xim5bcqtgk1b 10z9fjfqzsxnezo4hb81p8mqg.1 dockersamples/examplevotingapp_worker:latest qaqt4nrzo775jrx6detglho01 Running Running 30 minutes ago
q7yik0ks1in6 hbxltua1na7mgqjnidldv5m65.1 dockersamples/examplevotingapp_result:before mxpaef1tlh23s052erw88a4w5 Running Running 30 minutes ago
rx5yo0866nfx qyprtqw1g5nrki557i974ou1d.1 dockersamples/examplevotingapp_vote:before kanqcxfajd1r16wlnqcblobmm Running Running 31 minutes ago
tz6j82jnwrx7 122f0xxngg17z52be7xspa72x.1 postgres:9.4 mxpaef1tlh23s052erw88a4w5 Running Running 31 minutes ago
w48spazhbmxc tg61x8myx563ueo3urmn1ic6m.1 redis:alpine qaqt4nrzo775jrx6detglho01 Running Running 31 minutes ago
6jj1m02freg1 8cqlyi444kzd3panjb7edh26v.1 dockersamples/visualizer:stable mxpaef1tlh23s052erw88a4w5 Running Running 31 minutes ago
kqgdmededccb qyprtqw1g5nrki557i974ou1d.2 dockersamples/examplevotingapp_vote:before qaqt4nrzo775jrx6detglho01 Running Running 31 minutes ago
t72q3z038jeh tg61x8myx563ueo3urmn1ic6m.2 redis:alpine kanqcxfajd1r16wlnqcblobmm Running Running 31 minutes ago
出力の詳細表示
サービスをデプロイするときに、Docker はサービスイメージのダイジェスト値を解決し、この値にサービスをひもづけます。
ダイジェスト値はデフォルトでは表示されません。
ただし--no-trunc
を指定すれば表示されます。
--no-trunc
オプションを指定すると、さらにタスク ID が省略されず、エラーメッセージも表示されます。
以下のようになります。
$ docker stack ps --no-trunc voting
ID NAME IMAGE NODE DESIRED STATE CURREN STATE ERROR PORTS
xim5bcqtgk1bxqz91jzo4a1s5 voting_worker.1 dockersamples/examplevotingapp_worker:latest@sha256:3e4ddf59c15f432280a2c0679c4fc5a2ee5a797023c8ef0d3baf7b1385e9fed node2 Running Runnin 32 minutes ago
q7yik0ks1in6kv32gg6y6yjf7 voting_result.1 dockersamples/examplevotingapp_result:before@sha256:83b56996e930c292a6ae5187fda84dd6568a19d97cdb933720be15c757b7463 node1 Running Runnin 32 minutes ago
rx5yo0866nfxc58zf4irsss6n voting_vote.1 dockersamples/examplevotingapp_vote:before@sha256:8e64b182c87de902f2b72321c89b4af4e2b942d76d0b772532ff27ec4c6ebf6 node3 Running Runnin 32 minutes ago
tz6j82jnwrx7n2offljp3mn03 voting_db.1 postgres:9.4@sha256:6046af499eae34d2074c0b53f9a8b404716d415e4a03e68bc1d2f8064f2b027 node1 Running Runnin 32 minutes ago
w48spazhbmxcmbjfi54gs7x90 voting_redis.1 redis:alpine@sha256:9cd405cd1ec1410eaab064a1383d0d8854d1ef74a54e1e4a92fb4ec7bdc3ee7 node2 Running Runnin 32 minutes ago
6jj1m02freg1n3z9n1evrzsbl voting_visualizer.1 dockersamples/visualizer:stable@sha256:f924ad66c8e94b10baaf7bdb9cd491ef4e982a1d048a56a17e02bf5945401e5 node1 Running Runnin 32 minutes ago
kqgdmededccbhz2wuc0e9hx7g voting_vote.2 dockersamples/examplevotingapp_vote:before@sha256:8e64b182c87de902f2b72321c89b4af4e2b942d76d0b772532ff27ec4c6ebf6 node2 Running Runnin 32 minutes ago
t72q3z038jehe1wbh9gdum076 voting_redis.2 redis:alpine@sha256:9cd405cd1ec1410eaab064a1383d0d8854d1ef74a54e1e4a92fb4ec7bdc3ee7 node3 Running Runnin 32 minutes ago
タスク ID のみの表示
-q
または--quiet
オプションを指定すると、Stack 内のタスク ID のみが表示されます。
以下の例は「voting」Stack のタスク ID が一覧出力されます。
$ docker stack ps -q voting
xim5bcqtgk1b
q7yik0ks1in6
rx5yo0866nfx
tz6j82jnwrx7
w48spazhbmxc
6jj1m02freg1
kqgdmededccb
t72q3z038jeh
このオプションは、バッチ処理の実行において利用することができます。
たとえばタスク ID は、docker inspect
など他のコマンドの入力とすることができます。
以下の例は「voting」Stack の全タスクを確認するものです。
$ docker inspect $(docker stack ps -q voting)
[
{
"ID": "xim5bcqtgk1b1gk0krq1",
"Version": {
<...>
上位コマンド
コマンド | 説明 |
---|---|
docker stack | Docker Stack を管理します。 |
関連コマンド
コマンド | 説明 |
docker stack deploy | 新規 Stack のデプロイ、または既存 Stack の更新を行います。 |
docker stack ls | Stack の一覧を表示します。 |
docker stack ps | Stack 内のタスク一覧を表示します。 |
docker stack rm | Stack を削除します。 |
docker stack services | Stack 内のサービスを一覧表示します。 |