在 AWS Elasticbeanstalk 中將 ebextensions 與 Docker 結合使用

在 AWS Elasticbeanstalk 中將 ebextensions 與 Docker 結合使用

根據文件:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html

如果您想在單容器 Docker Elasticbeanstalk 環境中使用 ebextensions,您必須:

  1. 使用 zip 檔案作為您的應用程式版本
  2. 在檔案中包含 Dockerfile.aws.json 文件
  3. 在檔案中包含 Dockerfile 文件
  4. 在您的檔案中包含 .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。

相關內容