
ドキュメントによると:
詳しくは、https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html をご覧ください。
単一コンテナ Docker Elasticbeanstalk 環境で ebextensions を使用する場合は、次の手順を実行する必要があります。
- アプリケーションのバージョンとしてzipアーカイブを使用する
- アーカイブにDockerfile.aws.jsonファイルを含める
- アーカイブにDockerfileファイルを含める
- アーカイブに.ebextensionsフォルダを含める
使用されるDockerイメージはDockerfileによって作成されたイメージであり、Dockerfile.aws.jsonで指定されたイメージではありません。
私の場合、Elasticbeanstalk で Docker イメージをその場でビルドしたくありません。代わりに、AWS ECR のイメージを使用したいと思います。
その場合、以下の内容のみを含む Dockerfile を指定すればよいでしょうか:
FROM F11111111111.dkr.ecr.us-west-2.amazonaws.com/<my-image>:latest
EXPOSE 80
これは、ベースからローカルの変更されていないイメージを構築してそれを使用するだけでしょうか?
答え1
これをテストすることができ、動作することが確認できました。
ElasticBeanstalk では、Dockerfile がベースイメージ上に構築され、ベースイメージに追加されることを前提としていますが、実際にこれを行う必要はありません。
Dockerfile は、使用したいベースイメージ (AWS ECR 内など) と、ElasticBeankstalk インスタンスにデプロイされるときに公開するポートを簡単に参照できます。
これにより、単一コンテナの Docker 環境で ebextensions を使用できるようになります。