web-dev-qa-db-ja.com

dockerrunソースバンドルを使用してAWSElastic Beanstalk Dockerデプロイのebextensions設定をどこに配置しますか?

Docker ElasticBeanstalkをデプロイして.ebextensions/setup.configファイルを読み取るのに問題があります。

eb環境構成 のドキュメントによると:

ソースバンドルに1つ以上の構成ファイルを含めることができます。構成ファイルには、拡張子.config(myapp.configなど)を付けて名前を付け、ソースバンドルの.ebextensions最上位ディレクトリに配置する必要があります。

ただし、Dockerの場合、ソースバンドルは.Zipまたは.warファイルではなく、.jsonファイルであるように見えます。たとえば、ドキュメントには Dockerrun.awsを作成する)と書かれています。 .json file —それがソースバンドルのように見えますか?

アプリのバージョンを作成する際に、カスタムDockerrun-$VERSION.aws.jsonファイルをs3にアップロードし、次のようなものを実行します($APPはバージョン管理されたdockerrunjsonファイルです)。

aws elasticbeanstalk create-application-version \
    --application-name $APP_NAME \
    --version-label $VERSION \
    --source-bundle S3Bucket=$S3_BUCKET,S3Key=$S3_PATH/$APP

では、「バンドル」が最終的にコンテナを構築するjsonファイルである場合、ソースバンドルの最上位ディレクトリで.ebextensionsディレクトリはどのように検出されるのでしょうか。 (私の最初の試みは、プロジェクトのルートに配置することでしたが、それは機能しませんでした。)

22
MrColes

Dockerデプロイに.jsonファイルを使用している場合、.ebextensionsを使用することはできません。

ただし、.jsonと.ebextensionディレクトリを含むZipを作成することはでき、すべてが機能するはずです。生のjsonの代わりに、デプロイアーティファクトとしてZipを使用します。

23
Nick Humrich