docker stack deploy

読む時間の目安: 3 分

説明

新規 Stack のデプロイ、または既存 Stack の更新を行います。

API 1.25 以上  このコマンドを利用するには、クライアントとデーモンの API はともに、最低でも 1.25 である必要があります。 クライアント上においてdocker versionコマンドを実行して、クライアントとデーモンの API バージョンを確認してください。

利用方法

$ docker stack deploy [オプション] STACK

追加説明

compose ファイルに基づいて Swarm 上の Stack を生成または更新します。

メモ

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

本コマンドの利用例については、以下に示す 利用例の節 を参照してください。

オプション

名前/省略形 デフォルト 説明
--compose-file , -c API 1.25 以上
Compose ファイルへのパス、または「-」により標準入力を指定します。
--namespace Kubernetes
Kubernetes 名前空間を指定します。
--prune API 1.27 以上Swarm
参照されなくなったサービスを取り除きます。
--resolve-image always API 1.30 以上Swarm
レジストリを検索して、イメージのダイジェスト値と対応プラットフォームを解決します。("always"|"changed"|"never")
--with-registry-auth Swarm
Swarm エージェントに対して、レジストリ認証情報を送信します。
--kubeconfig Kubernetes
Kubernetes 設定ファイルを指定します。
--orchestrator オーケストレーターを指定します。(swarm|kubernetes|all)

利用例

Compose ファイル

deploy コマンドは Compose ファイルバージョン3.0 またはそれ以降に対応しています。

$ docker stack deploy --compose-file docker-compose.yml vossibility

Ignoring unsupported options: links

Creating network vossibility_vossibility
Creating network vossibility_default
Creating service vossibility_nsqd
Creating service vossibility_logstash
Creating service vossibility_elasticsearch
Creating service vossibility_kibana
Creating service vossibility_ghollector
Creating service vossibility_lookupd

Compose ファイルは --compose-file - とすることで、標準入力から指定することもできます。

$ cat docker-compose.yml | docker stack deploy --compose-file - vossibility

Ignoring unsupported options: links

Creating network vossibility_vossibility
Creating network vossibility_default
Creating service vossibility_nsqd
Creating service vossibility_logstash
Creating service vossibility_elasticsearch
Creating service vossibility_kibana
Creating service vossibility_ghollector
Creating service vossibility_lookupd

複数の Compose ファイルにわたって設定を行う場合、たとえば基本となる設定と、それをオーバーライドする環境固有の設定がある場合には、--compose-file を複数指定することができます。

$ docker stack deploy --compose-file docker-compose.yml -c docker-compose.prod.yml vossibility

Ignoring unsupported options: links

Creating network vossibility_vossibility
Creating network vossibility_default
Creating service vossibility_nsqd
Creating service vossibility_logstash
Creating service vossibility_elasticsearch
Creating service vossibility_kibana
Creating service vossibility_ghollector
Creating service vossibility_lookupd

サービスが正しく生成できたかどうかは、以下のようにして確認します。

$ docker service ls

ID            NAME                               MODE        REPLICAS  IMAGE
29bv0vnlm903  vossibility_lookupd                replicated  1/1       nsqio/nsq@sha256:eeba05599f31eba418e96e71e0984c3dc96963ceb66924dd37a47bf7ce18a662
4awt47624qwh  vossibility_nsqd                   replicated  1/1       nsqio/nsq@sha256:eeba05599f31eba418e96e71e0984c3dc96963ceb66924dd37a47bf7ce18a662
4tjx9biia6fs  vossibility_elasticsearch          replicated  1/1       elasticsearch@sha256:12ac7c6af55d001f71800b83ba91a04f716e58d82e748fa6e5a7359eed2301aa
7563uuzr9eys  vossibility_kibana                 replicated  1/1       kibana@sha256:6995a2d25709a62694a937b8a529ff36da92ebee74bafd7bf00e6caf6db2eb03
9gc5m4met4he  vossibility_logstash               replicated  1/1       logstash@sha256:2dc8bddd1bb4a5a34e8ebaf73749f6413c101b2edef6617f2f7713926d2141fe
axqh55ipl40h  vossibility_vossibility-collector  replicated  1/1       icecrime/vossibility-collector@sha256:f03f2977203ba6253988c18d04061c5ec7aab46bca9dfd89a9a1fa4500989fba

上位コマンド

コマンド 説明
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 内のサービスを一覧表示します。