預先設定的 Docker 容器 (Amazon Linux AMI) - AWS Elastic Beanstalk

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

預先設定的 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 範例應用程式。

設定您的環境。
  1. 建立新的範例應用程式資料夾。

    ~$ mkdir eb-preconf-example ~$ cd eb-preconf-example
  2. 下載範例應用程式程式碼到該新資料夾。

    ~$ 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 應用程式
  1. 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 組態

  2. 建置 Docker 影像。

    ~/eb-preconf-example$ docker build -t my-app-image .
  3. 自映像執行 Docker 容器。

    注意

    您必須納入 -p 旗標將容器上的連接埠 8080 對應至 localhost 連接埠 3000。Elastic Beanstalk Docker 容器永遠會公開容器上連接埠 8080 的應用程式。-it 旗標會將映像做為互動式程序來執行。容器結束時,--rm 旗標會清除容器檔案系統。您可以選擇是否加入 -d 旗標將映像做為協助程式來執行。

    $ docker run -it --rm -p 3000:8080 my-app-image
  4. 欲檢視範例應用程式,請將下列 URL 輸入您的 Web 瀏覽器。

    http://localhost:3000
    
                顯示在 Web 瀏覽器中的 glassFish 範例應用程式

部署到 Elastic Beanstalk

測試應用程式後,即可準備將其部署至 Elastic Beanstalk。

將您的應用程式部署至 Elastic Beanstalk
  1. 在應用程式的根資料夾中,將 Dockerfile 重新命名為 Dockerfile.local。欲讓 Elastic Beanstalk 使用 Dockerfile,此為必要步驟,因為該檔案內含正確說明,可供 Elastic Beanstalk 於 Elastic Beanstalk 環境的各個 Amazon EC2 執行個體建置自訂 Docker 影像。

    注意

    若您的 Dockerfile 中包含修改平台版本基礎 Docker 影像的指示,則不需要執行此步驟。若您的 Dockerfile 內僅有一行 Dockerfile 來指定應從中建立容器的基礎映像,則完全無須使用 FROM。在此情況下,Dockerfile 為多餘的。

  2. 建立應用程式原始碼套件。

    ~/eb-preconf-example$ zip myapp.zip -r *
  3. 透過此一預設連結來開啟 Elastic Beanstalk 主控台:console.aws.amazon.com/elasticbeanstalk/home#/newApplication?applicationName=tutorials&environmentType=LoadBalanced

  4. 針對 Platform (平台),請在 Preconfigured Docker (預先設定的 Docker) 下,選擇 Glassfish

  5. 針對 Application code (應用程式程式碼),選擇 Upload your code (上傳您的程式碼),然後選擇 Upload (上傳)

  6. 選擇 Local file (本機檔案),選擇 Browse (瀏覽),然後開啟您剛才建立的應用程式原始碼套件。

  7. 選擇 Upload (上傳)。

  8. 選擇 Review and launch (檢閱和啟動)

  9. 檢閱可用的設定,然後選擇 Create app (建立應用程式)

  10. 在環境建立後,您可以查看部署的應用程式。選擇顯示於主控台儀表板頂端的環境 URL。