質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

2回答

8842閲覧

docker stack deployができません。

uk_63

総合スコア29

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2019/05/13 08:21

実現したいこと

docker stack deploy xxxx.yml xxxこのコマンドを成功させたいです。

現状

Docker in Docker でコンテナを5つ起動しています。
manager, registory, worker*3 = 合計5個です。

$ docker container exec -it manager docker swarm init # 無事、成功しました。
$ docker container exec -it manager docker stack deploy -c /stack/xxxxx.yml xxxxx # コレがうまくいきません。 # コマンドの実行結果。 $ xxxxx Additional property xxxxx is not allowed

試したこと

stack overflow

この記事によるとymlファイルのversionを最新にして試すとのことでしたが、最新バージョンはサポートされていないとエラーでした。

ymlファイル

yml

1version: "3" 2services: 3 registry: 4 container_name: registry 5 image: registry:2.6 6 ports: 7 - 5000:5000 8 volumes: 9 - "./registry-data:/var/lib/registry" 10 maneger: 11 container_name: manager 12 image: docker:18.05.0-ce-dind 13 privileged: true 14 tty: true 15 ports: 16 - 8000:80 17 - 9000:9000 18 depends_on: 19 - registry 20 expose: 21 - 3375 22 command: "--insecure-registry registry:5000" 23 # 各コンテナへのHTTPアクセスを許可している 24 volumes: 25 - "./stack:/stack" 26 27 worker01: 28 container_name: worker01 29 image: docker:18.05.0-ce-dind 30 privileged: true 31 tty: true 32 depends_on: 33 - maneger 34 - registry 35 expose: 36 - 7946 37 - 7946/udp 38 - 4789/udp 39 command: "--insecure-registry registry:5000" 40 41 worker02: 42 container_name: worker02 43 image: docker:18.05.0-ce-dind 44 privileged: true 45 tty: true 46 depends_on: 47 - maneger 48 - registry 49 expose: 50 - 7946 51 - 7946/udp 52 - 4789/udp 53 command: "--insecure-registry registry:5000" 54 55 worker03: 56 container_name: worker03 57 image: docker:18.05.0-ce-dind 58 privileged: true 59 tty: true 60 depends_on: 61 - maneger 62 - registry 63 expose: 64 - 7946 65 - 7946/udp 66 - 4789/udp 67 command: "--insecure-registry registry:5000"

最後に

もしかしたらymlが違うかもしれませんが、どうやっても解決方法が見つかりません。
どうかアドバイスをお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

depends_on など、 docker stack deploy (swarm mode) ではサポートされていない記述が YAML の中にある可能性があります。 ドキュメント のリファレンスにありますように、サポート外のものは使えませんので、外す必要があります。

Docker Compose のバージョンを下げることで、動作するかもしれませんが、誰も動作を保証するものではありませんので、おすすめしません。

なお、 depends_on に関しては、「そのコンテナ」が起動したことは分かるものの、そのコンテナの中のプロセスが初期化され、利用可能になったかどうかは分かりません。もし depends_on のような機能を求められているのであれば、次の公式ドキュメントにあるように、プロセスが応答するかどうか確認を待ってから、次の処理を行う仕組みを導入されるのをおすすめします。

Control startup and shutdown order in Compose | Docker Documentation
https://docs.docker.com/compose/startup-order/

投稿2021/04/06 23:06

zembutsu

総合スコア1584

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

docker stackはDocker Swarmを操作するためのコマンドだったと思いますが、Swarmは確か開発終了し、廃止される方向だったはずです。

Kubernatesが現在最も有力なので、進めるとしてもこちらの方向に寄せたほうが良いと思います。

https://stackoverflow.com/questions/42254167/docker-compose-secrets-additional-property-secrets-is-not-allowed

asked 2 years, 2 months ago

動きが早い界隈なので、ちょっと情報が古いですね。

投稿2019/05/13 11:52

otolab

総合スコア765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問