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) |
利用例
以下のコマンドはmyapp
Stack におけるサービスを一覧表示します。
$ 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 内のサービスを一覧表示します。 |