
根據文件:
http://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。