共用方式為


快速入門:建置 Java Spring Boot 應用程式的容器映像並將其推送至 Azure Container Registry

您可以使用本快速入門來建置 Java Spring Boot 應用程式的容器映像,並使用 Maven 和 Jib 將其推送至 Azure Container Registry。 Maven 和 Jib 是使用開發人員工具來與 Azure Container Registry 互動的其中一個方式。

必要條件

在 Docker 上建立和建置 Spring Boot 應用程式

下列步驟會引導您建置容器化 Java Spring Boot Web 應用程式,並在本地加以測試。

  1. 從命令提示字元,使用下列命令來複製 Docker 上的 Spring Boot 使用者入門範例專案。

    git clone https://github.com/spring-guides/gs-spring-boot-docker.git
    
  2. 將目錄變更至已完成的專案。

    cd gs-spring-boot-docker/complete
    
  3. 使用 Maven 來建置及執行範例應用程式。

    mvn package spring-boot:run
    
  4. 瀏覽至 http://localhost:8080 來測試 Web 應用程式,或使用下列 curl 命令:

    curl http://localhost:8080
    

您應該會看到顯示下列訊息:Hello Docker World

使用 Azure CLI 建立 Azure Container Registry

接下來,您將使用下列步驟來建立 Azure 資源群組和您的 ACR:

  1. 使用下列命令來登入您的 Azure 帳戶:

    az login
    
  2. 指定要使用的 Azure 訂用帳戶:

    az account set -s <subscription ID>
    
  3. 為此教學課程中使用的 Azure 資源建立資源群組。 在下列命令中,請務必以自己的資源名稱和位置取代預留位置,例如 eastus

    az group create \
        --name=<your resource group name> \
        --location=<location>
    
  4. 使用下列命令,在資源群組中建立私人 Azure Container Registry。 請務必以實際值取代預留位置。 本教學課程會在稍後的步驟中,將範例應用程式推送為此登錄的 Docker 映像。

    az acr create \
        --resource-group <your resource group name> \
        --location <location> \
        --name <your registry name> \
        --sku Basic
    

透過 Jib 將應用程式推送至容器登錄

最後,您將更新您的專案組態,並使用命令提示字元來建置和部署您的映像。

注意

若要登入您剛建立的 Azure Container Registry,您必須執行 Docker 精靈。 若要在電腦上安裝 Docker,這裡是官方的 Docker 文件

  1. 使用下列命令,從 Azure CLI 登入您的 Azure Container Registry。 請務必將以自己的登錄名稱取代預留位置。

    az config set defaults.acr=<your registry name>
    az acr login
    

    az config 命令會設定要搭配 az acr 命令使用的預設登錄名稱。

  2. 巡覽至 Spring Boot 應用程式已完成的專案目錄 (例如,"C:\SpringBoot\gs-spring-boot-docker\complete" 或 "/users/robert/SpringBoot/gs-spring-boot-docker/complete"),並使用文字編輯器開啟 pom.xml 檔案。

  3. 以下列 XML 更新 pom.xml 檔案中的 <properties> 集合。 請以您的登錄名稱取代預留位置,並新增值為 2.2.0<jib-maven-plugin.version> 屬性,或新增較新版的 jib-maven-plugin

    <properties>
       <docker.image.prefix><your registry name>.azurecr.io</docker.image.prefix>
       <java.version>1.8</java.version>
       <jib-maven-plugin.version>2.2.0</jib-maven-plugin.version>
    </properties>
    
  4. 更新 pom.xml 檔案中的 <plugins> 集合,讓 <plugin> 元素包含 jib-maven-plugin 項目,如下列範例所示。 請注意,我們會使用 Microsoft Container Registry (MCR) 中的基底映像:mcr.microsoft.com/openjdk/jdk:11-ubuntu,其中包含適用於 Azure 的正式支援 JDK。 如需具有正式支援的 JDK 的其他 MCR 基底映像,請參閱安裝 Microsoft Build of OpenJDK。

    <plugin>
      <artifactId>jib-maven-plugin</artifactId>
      <groupId>com.google.cloud.tools</groupId>
      <version>${jib-maven-plugin.version}</version>
      <configuration>
         <from>
             <image>mcr.microsoft.com/openjdk/jdk:11-ubuntu</image>
         </from>
         <to>
             <image>${docker.image.prefix}/${project.artifactId}</image>
         </to>
      </configuration>
    </plugin>
    
  5. 瀏覽至 Spring Boot 應用程式已完成的專案目錄,然後執行下列命令來建置映像,並將映像推送到登錄:

    az acr login && mvn compile jib:build
    

注意

基於安全性理由,az acr login 所建立的認證僅在 1 小時內有效。 如果您收到「401 未授權」錯誤,您可以再次執行 az acr login -n <your registry name> 命令重新進行驗證。

驗證容器映像

恭喜! 您現已將建置於 Azure 支援 JDK 的容器化 Java 應用程式推送至您的 ACR。 您現在可藉由將映像部署到 Azure App Service,或使用命令將其提取至本機 (取代預留位置),以測試映像:

docker pull <your registry name>.azurecr.io/gs-spring-boot-docker

下一步

如需其他版本的正式 Microsoft 支援 Java 基底映像,請參閱:

若要深入了解 Spring 和 Azure,請繼續閱讀「Azure 上的 Spring」文件中心中的資訊。

其他資源

如需詳細資訊,請參閱以下資源: