docker stack services

説明

タスク内のサービスを一覧表示します。

【API 1.25+】このコマンドを使うには、クライアントとデーモン API の両方が、少なくとも 1.25 の必要があります。クライアントとデーモン API のバージョンを調べるには、 docker version コマンドを使います。

使い方

$ docker stack services [OPTIONS] STACK

補足説明

指定したタスクの一部として実行中のサービスを表示します。

注釈

これはクラスタ管理コマンドであり、 swarm manager ノードで実行する必要があります。manager と worker について学ぶには、ドキュメント内の Swarm モードのセクション を参照ください。

コマンドの使用例は、以下の 使用例のセクション をご覧ください。

使用例

以下のコマンドは myapp スタックの全サービスを表示します。

$ 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 )の書式は key=value のペアです。フィルタを何回もしたい場合は、複数のフラグを使います(例: -filter "foo=bar" --filter "bif=baz" )。複数のフィルタを指定したら、 OR (同一条件)フィルタとして連結されます。

以下のコマンドは webdb サービスの両方を表示するコマンドです。

$ 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 命令を使えばカラム列も同様に表示するかのどちらかです。

以下の例はヘッダ無しのテンプレートを使い、全てのサービスに対する IDModeReplicas のエントリをコロン( : )で区切って出力します。

$ docker stack services --format "{{.ID}}: {{.Mode}} {{.Replicas}}"

0zmvwuiu3vue: replicated 10/10
fm6uf97exkul: global 5/5

親コマンド

コマンド 説明
docker stack Docker stack を管理

関連コマンド

コマンド 説明
docker stack deploy 新しいスタックをデプロイするか、既存のスタックを更新
docker stack ls スタックを一覧表示
docker stack ps スタック内のタスクを一覧表示
docker stack rm 1つまたは複数スタックを削除
docker stack services タスク内のサービスを一覧表示