docker stack services
読む時間の目安: 3 分
説明
Stack 内のサービスを一覧表示します。
API 1.25 以上
このコマンドを利用するには、クライアントとデーモンの API はともに、最低でも
1.25
である必要があります。
クライアント上においてdocker versionコマンドを実行して、クライアントとデーモンの API バージョンを確認してください。
利用方法
$ docker stack services [OPTIONS] STACK
追加説明
指定された Stack の一部として起動しているサービスを一覧表示します。
メモ
これはクラスター管理コマンドです。 したがって Swarm 上のマネージャーノードにおいて実行する必要があります。 マネージャーノードやワーカーノードについては、Swarm モード を参照してください。
本コマンドの利用例については、以下に示す 利用例の節 を参照してください。
オプション
| 名前/省略形 | デフォルト | 説明 |
--filter , -f |
指定された条件に基づいてフィルター検索を行います。 | |
--format |
Go 言語テンプレートを使って出力をフォーマットします。 | |
--namespace |
deprecatedKubernetes Kubernetes 名前空間を指定します。 |
|
--quiet , -q |
ID のみを表示します。 | |
--kubeconfig |
deprecatedKubernetes Kubernetes 設定ファイルを指定します。 |
|
--orchestrator |
deprecated オーケストレーターを指定します。(swarm|kubernetes|all) |
利用例
以下のコマンドはmyappStack におけるサービスを一覧表示します。
$ docker stack services myapp
ID NAME REPLICAS IMAGE COMMAND
7be5ei6sqeye myapp_web 1/1 nginx@sha256:23f809e7fd5952e7d5be065b4d3643fbbceccd349d537b62a123ef2201bc886f
dn7m7nhhfb9y myapp_db 1/1 mysql@sha256:a9a5b559f8821fe73d58c3606c812d1c044868d42c63817fa5125fd9d8b7b539
フィルター検索
フィルターフラグ(-fまたは--filter)の指定書式は「キー=値」というものです。
複数のフィルターが必要な場合は、フラグを複数指定します。
(たとえば--filter "foo=bar" --filter "bif=baz"など)
複数のフィルターフラグはORフィルターとして結合されます。
以下のコマンドはwebとdbという 2 つのサービスを表示します。
$ docker stack services --filter name=myapp_web --filter name=myapp_db myapp
ID NAME REPLICAS IMAGE COMMAND
7be5ei6sqeye myapp_web 1/1 nginx@sha256:23f809e7fd5952e7d5be065b4d3643fbbceccd349d537b62a123ef2201bc886f
dn7m7nhhfb9y myapp_db 1/1 mysql@sha256:a9a5b559f8821fe73d58c3606c812d1c044868d42c63817fa5125fd9d8b7b539
現在サポートされているフィルターは以下のとおりです。
- id / ID (
--filter id=7be5ei6sqeyeまたは--filter ID=7be5ei6sqeye)- Swarm: 対応済み。
- Kubernetes: 未対応。
- label (
--filter label=key=value)- Swarm: 対応済み。
- Kubernetes: 対応済み。
- mode (
--filter mode=replicatedまたは--filter mode=global)- Swarm: 未対応。
- Kubernetes: 対応済み。
- name (
--filter name=myapp_web)- Swarm: 対応済み。
- Kubernetes: 対応済み。
- node (
--filter node=mynode)- Swarm: 未対応。
- Kubernetes: 対応済み。
- service (
--filter service=web)- Swarm: 未対応。
- Kubernetes: 対応済み。
フォーマット設定
フォーマット設定オプション(--format)により Go 言語のテンプレートを利用して、サービスをわかりやすく出力することができます。
Go 言語テンプレートによるプレースホルダー(placeholder)は以下のとおりです。
| プレースホルダー | 内容説明 |
|---|---|
.ID |
サービス ID |
.Name |
サービス名 |
.Mode |
サービスモード(replicated、global) |
.Replicas |
サービスレプリカ |
.Image |
サービスイメージ |
--formatオプションを利用するとstack servicesコマンドは、テンプレートが定めるデータを直接出力します。
またtableディレクティブを利用すると、カラムヘッダーも同時に出力されます。
以下は、ヘッダーを含めずにテンプレートを利用する例であり、すべてのサービスにおけるID、Mode、Replicasの各項目がコロン(:)で区切って表示されます。
$ docker stack services --format "{{.ID}}: {{.Mode}} {{.Replicas}}"
0zmvwuiu3vue: replicated 10/10
fm6uf97exkul: global 5/5
上位コマンド
| コマンド | 説明 |
|---|---|
| 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 内のサービスを一覧表示します。 |