自 Docker 容器部署 Elastic Beanstalk 應用程式 - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自 Docker 容器部署 Elastic Beanstalk 應用程式

Elastic Beanstalk 支援自 Docker 容器部署 Web 應用程式。透過 Docker 容器,即可定義自己的執行時間環境。您也可以自行選擇其他平台通常不支援的平台、程式設計語言和應用程式的依存項目 (如套件管理工具或工具)。Docker 容器可獨立自主運作,內含執行 Web 應用程式所需的所有組態資訊和軟體。Elastic Beanstalk 主控台內定義的所有環境變數都會傳遞至容器。

本章中的主題假設您對 Elastic Beanstalk 環境已有一定瞭解。如果您沒使用過 Elastic Beanstalk,請嘗試《入門教學》以了解基本概念。本章還假設您對 Docker 及其運作方式有基本的了解。如需詳細資訊,請參閱 Docker 網站上的 Docker 概觀主題。

Docker 平台分支

Elastic Beanstalk Docker 平台支援下列平台分支:

執行於 Amazon Linux 2 的 Docker 和執行於 AL2023 的 Docker

Elastic Beanstalk 會將 Docker 容器和原始程式碼部署到 EC2 執行個體並加以管理。這些平台分支提供多容器支援。可以使用 Docker Compose 工具來簡化您的應用程式設定、測試和部署。如需此平台分支的詳細資訊,請參閱 使用 Docker 平台分支

執行於 Amazon Linux 2 的 ECS執行於 AL2023 的 ECS

若客戶需要從執行於 (Amazon Linux AMI) 的已淘汰多容器 Docker 平台分支遷移至 AL2023/AL2 之路徑,我們會為客戶提供該分支。最新的平台分支支援已淘汰平台分支的所有功能。無需變更原始程式碼。如需詳細資訊,請參閱將執行於 Amazon Linux 的多容器 Docker 遷移至執行於 Amazon Linux 2023 的 ECS。如果沒有在基於 ECS 平台分支上執行的 Elastic Beanstalk 環境,建議使用另一個平台分支,即在 64 位元 AL2023 上執行的 Docker。此方法較為簡單,且所需資源較少。

此平台分支使用 Amazon ECS 來協調將多個 Docker 容器部署至 Elastic Beanstalk 環境內的 Amazon ECS 叢集。ECS 叢集包含託管 Docker 容器的 EC2 執行個體。為了達成此部署協同運作,Elastic Beanstalk 會建立 ECS 任務定義,其中還包含容器定義。環境中的每個執行個體,均須執行由 Dockerrun.aws.jsonv2 檔案定義的相同容器組合。如需詳細資訊,請參閱使用 Amazon ECS 平台分支

在 Amazon Linux AMI (AL1) 上執行的已淘汰平台分支

2022 年 7 月 18 日,Elastic Beanstalk 已將所有以 Amazon Linux AMI (AL1) 為基礎的平台分支狀態設為已淘汰展開後文每個章節,可閱讀更多關於每個已淘汰平台分支及遷移至執行於 Amazon Linux 2 或 Amazon Linux 2023 (建議) 最新平台分支之路徑的詳細資訊。

此平台分支可部署 Docker 映像檔,如 Dockerfile 或 Dockerrun.aws.json v1 定義中所述。此平台分支針對每個執行個體只會執行一個容器。後續平台分支 (在 64 位元 AL2023 上執行的 Docker 和在 64 位元 Amazon Linux 2 上執行的 Docker) 支援每個執行個體擁有多個 Docker 容器。

建議使用更新且受支援的在 64 位元 AL2023 上執行的 Docker 平台分支來建立環境。然後,您就可以將應用程式遷移至新建立的環境。如需建立此類環境的詳細資訊,請參閱 使用 Docker 平台分支。如需遷移的詳細資訊,請參閱 將您的 Elastic Beanstalk Linux 應用程式遷移到 Amazon Linux 2023 或 Amazon Linux 2

此平台分支使用 Amazon ECS 來協調將多個 Docker 容器部署至 Elastic Beanstalk 環境內的 Amazon ECS 叢集。如果您目前正在使用此已淘汰的平台分支,我們建議您遷移至執行於 Amazon Linux 2023 的最新 ECS 平台分支。最新的平台分支支援此已停產平台分支的所有功能。無需變更原始程式碼。如需詳細資訊,請參閱將執行於 Amazon Linux 的多容器 Docker 遷移至執行於 Amazon Linux 2023 的 ECS

除前述 Docker 平台外,還有在 Amazon Linux AMI 作業系統 (AL1) 上執行之預先設定的 Docker GlassFish 平台分支。

此平台分支已被在 64 位元 AL2023 上執行的 Docker 和在 64 位元 Amazon Linux 2 上執行的 Docker 平台分支所取代。如需詳細資訊,請參閱將 GlassFish 應用程式部署至 Docker 平台