本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
預先設定的 Docker 容器 (Amazon Linux AMI)
注意
2022 年 7 月 18 日,Elastic Beanstalk 已將所有以 Amazon Linux AMI (AL1) 為基礎的平台分支狀態設為已淘汰。如需有關遷移至完全支援的目前 Amazon Linux 2023 平台分支的詳細資訊,請參閱 將您的 Elastic Beanstalk Linux 應用程式遷移到 Amazon Linux 2023 或 Amazon Linux 2。
執行於 Amazon Linux AMI (AL1) 的預先設定 Docker GlassFish 平台分支已不再受到支援。若要將 GlassFish 應用程式遷移到支援的 Amazon Linux 2023 平台,請將 GlassFish 和您的應用程式程式碼部署到 Amazon Linux 2023 Docker 映像檔。如需詳細資訊,請參閱下列主題,將 GlassFish 應用程式部署到 Docker 平台:Amazon Linux 2023 的遷移路徑。
本章節說明如何於本機開發範例應用程式,然後使用預先設定的 Docker 容器將應用程式部署至 Elastic Beanstalk。
設定您的本機開發環境
在此逐步說明中,我們將使用 GlassFish 範例應用程式。
設定您的環境。
-
建立新的範例應用程式資料夾。
~$
mkdir eb-preconf-example
~$cd eb-preconf-example
-
下載範例應用程式程式碼到該新資料夾。
~$
wget https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/samples/docker-glassfish-v1.zip
~$unzip docker-glassfish-v1.zip
~$rm docker-glassfish-v1.zip
本機開發與測試
開發範例 GlassFish 應用程式
-
將
Dockerfile
新增至應用程式的根資料夾。在此檔案中,指定要使用的 AWS Elastic Beanstalk Docker 基礎映像,以執行本機預先設定的 Docker 容器。您將於稍後部署應用程式到 Elastic Beanstalk 預先設定的 Docker GlassFish 平台版本。選擇此平台版本使用的 Docker 基本映像。如需有關該平台版本最新 Docker 映像檔的詳細資訊,請參閱《AWS Elastic Beanstalk 平台指南》中支援 AWS Elastic Beanstalk 的平台頁面的預先設定的 Docker 一節。範例 ~/Eb-preconf-example/Dockerfile
# For Glassfish 5.0 Java 8 FROM amazon/aws-eb-glassfish:5.0-al-onbuild-2.11.1
如需使用
Dockerfile
的詳細資訊,請參閱 Docker 組態。 -
建置 Docker 影像。
~/eb-preconf-example$
docker build -t my-app-image .
-
自映像執行 Docker 容器。
注意
您必須納入
-p
旗標將容器上的連接埠 8080 對應至 localhost 連接埠 3000。Elastic Beanstalk Docker 容器永遠會公開容器上連接埠 8080 的應用程式。-it
旗標會將映像做為互動式程序來執行。容器結束時,--rm
旗標會清除容器檔案系統。您可以選擇是否加入-d
旗標將映像做為協助程式來執行。$
docker run -it --rm -p 3000:8080 my-app-image
-
欲檢視範例應用程式,請將下列 URL 輸入您的 Web 瀏覽器。
http://localhost:3000
部署到 Elastic Beanstalk
測試應用程式後,即可準備將其部署至 Elastic Beanstalk。
將您的應用程式部署至 Elastic Beanstalk
-
在應用程式的根資料夾中,將
Dockerfile
重新命名為Dockerfile.local
。欲讓 Elastic Beanstalk 使用Dockerfile
,此為必要步驟,因為該檔案內含正確說明,可供 Elastic Beanstalk 於 Elastic Beanstalk 環境的各個 Amazon EC2 執行個體建置自訂 Docker 影像。注意
若您的
Dockerfile
中包含修改平台版本基礎 Docker 影像的指示,則不需要執行此步驟。若您的Dockerfile
內僅有一行Dockerfile
來指定應從中建立容器的基礎映像,則完全無須使用FROM
。在此情況下,Dockerfile
為多餘的。 -
建立應用程式原始碼套件。
~/eb-preconf-example$
zip myapp.zip -r *
-
透過此一預設連結來開啟 Elastic Beanstalk 主控台:console.aws.amazon.com/elasticbeanstalk/home#/newApplication?applicationName=tutorials&environmentType=LoadBalanced
-
針對 Platform (平台),請在 Preconfigured Docker (預先設定的 Docker) 下,選擇 Glassfish。
-
針對 Application code (應用程式程式碼),選擇 Upload your code (上傳您的程式碼),然後選擇 Upload (上傳)。
-
選擇 Local file (本機檔案),選擇 Browse (瀏覽),然後開啟您剛才建立的應用程式原始碼套件。
-
選擇 Upload (上傳)。
-
選擇 Review and launch (檢閱和啟動)。
-
檢閱可用的設定,然後選擇 Create app (建立應用程式)。
-
在環境建立後,您可以查看部署的應用程式。選擇顯示於主控台儀表板頂端的環境 URL。