web-dev-qa-db-ja.com

Docker compose-secrets追加のプロパティシークレットは許可されていません

docker-compose --version docker-composeバージョン1.11.1、ビルド7c5d5e4

私のスウォームクラスターに追加された秘密の「my_secret_data」があります:

私の作成ファイルの先頭は次のようになります:

version: "3.1"
secrets:
  my_secret_data:
    external: true
services:
  master:
    image: jenkins-master
    secrets:
     - my_secret_data
    ports:
     - "8080:8080"
     - "50000:50000" 

'docker stack deploy'は継続的にエラーを出します:

追加のプロパティシークレットは許可されていません

私は docker-compose v3.1でシークレット値をどのように管理しますか? 私が知ることができる限り、正しいバージョンがインストールされているが上記のエラーが発生し続ける限り、文字まで続けました。どんな助けも大歓迎です。

13

作成ファイルのバージョンを最新バージョンに変更します。

つまり、バージョン '3'は最新の '3.x'バージョンに解決されません。最新バージョンはこちら https://docs.docker.com/compose/compose-file/#compose-and-docker-compatibility-matrix

5
Arman

「追加のプロパティシークレットは許可されていません」エラーは、またはのいずれかによって発生する可能性があります。

  1. docker Engine <1.13.1を実行している、または
  2. 構成ファイルの使用 バージョン番号 <'3.1' docker-compose.ymlやdocker-cloud.ymlなどのdocker-composeファイルで

この問題が発生している場合は、両方が正しいことを確認してください。

これは他のDockerインターフェースとツールにも当てはまります。

たとえば、Portainerでは、Create Stackダイアログに秘密の行が貼り付けられたymlは、行version: '3.1'で始まる必要があります。そうしないと、最新のDocker Engine 1.13.1以降でも同じエラーが発生します。

3
JeremyDouglass

私の場合、Service:には前に追加のタブがありました。その前にタブを削除した瞬間、うまくいきました。

1
Amar Singh