Spring Boot-alkalmazás üzembe helyezése Linuxra az Azure App Service-ben

Ez az oktatóanyag azon vezeti végig, hogyan helyezhető tárolóba a Docker használatával a Spring Boot-alkalmazás, és helyezhető üzembe a saját Docker-lemezkép egy Linux-gazdagépen az Azure App Service-ben.

Előfeltételek

A cikkben leírt lépések elvégzéséhez a következő előfeltételek szükségesek:

Feljegyzés

A jelen oktatóanyag virtualizálási követelményei miatt nem fogja tudni követni és virtuális gépeken alkalmazni a cikkben leírt egyes lépéseket. Egy olyan fizikai számítógépet kell használnia, amelyen a virtualizálási funkciók engedélyezve vannak.

A Spring Boot on Docker – Első lépések webalkalmazás létrehozása

A következő lépések azokat a lépéseken járják végig, amelyek egy egyszerű Spring Boot-webalkalmazás létrehozásához és helyi teszteléséhez szükségesek.

  1. Nyisson meg egy parancssort, és hozzon létre egy helyi könyvtárat az alkalmazás tárolásához, majd váltson erre a könyvtárra, például:

    mkdir SpringBoot
    cd SpringBoot
    
  2. Klónozza a Spring Boot on Docker Getting Started mintaprojektet a létrehozott könyvtárba, például:

    git clone https://github.com/spring-guides/gs-spring-boot-docker.git
    
  3. Váltsa a könyvtárat a befejezett projektre, például:

    cd gs-spring-boot-docker/complete
    
  4. Készítse el a JAR-fájlt a Mavennel, például:

    mvn package
    
  5. A webalkalmazás létrehozása után váltson a target könyvtárra, amelyben a JAR-fájl található, és indítsa el a webalkalmazást; példa:

    cd target
    java -jar spring-boot-docker-complete-0.0.1-SNAPSHOT.jar --server.port=80
    
  6. Tesztelje a webalkalmazást. Ehhez nyissa meg helyileg egy webböngészőben. Ha például elérhető a cURL, és a Tomcat-kiszolgálót úgy konfigurálta, hogy az a 80-as porton fusson:

    curl http://localhost
    
  7. A következő üzenet jelenik meg: Hello Docker World

    Browse Sample App Locally

Docker-beli privát regisztrációs adatbázisként használandó Azure Container Registry tárolóregisztrációs adatbázis létrehozása

A következő lépések azon vezetik végig, hogyan hozhat létre Azure Container Registry tárolóregisztrációs adatbázist az Azure Portalon.

Feljegyzés

Ha a Azure Portal helyett az Azure CLI-t szeretné használni, kövesse az Docker-beli privát regisztrációs adatbázis létrehozása az Azure CLI 2.0-val című cikkben szereplő lépéseket.

  1. Nyissa meg az Azure Portalt, és jelentkezzen be.

    Miután bejelentkezett a fiókjába az Azure Portalon, kövesse a Privát Docker-tárolóregisztrációs adatbázis létrehozása című szakasz lépéseit az Azure Portal cikkével, amelyek a célszerűség kedvéért az alábbi lépésekben szerepelnek.

  2. Kattintson az Új menü ikonra, válassza a Tárolók lehetőséget, majd az Azure Container Registryt.

    Create a new Azure Container Registry

  3. Amikor megjelenik a Tárolóregisztrációs adatbázis létrehozása lap, adja meg a Regisztrációs adatbázis nevét, az Előfizetést, az Erőforráscsoportot és a Helyet. Válassza a Létrehozás parancsot.

    Configure Azure Container Registry settings

  4. Válassza a hozzáférési kulcsokat a Gépház alatt, és kapcsolja be az engedélyezett kapcsolót a Rendszergazda felhasználó mögött.

    Enable admin user UI in the Azure portal

A Maven konfigurálása az Azure Container Registry rendszerképének létrehozására

  1. Lépjen a Spring Boot-alkalmazás befejezett projektkönyvtárára (például: "C:\SpringBoot\gs-spring-boot-docker\complete" vagy "/users/robert/SpringBoot/gs-spring-boot-docker/complete"), és nyissa meg a pom.xml fájlt egy szövegszerkesztővel.

  2. Frissítse a <properties> gyűjteményt a pom.xml fájlban a jib-maven-plugin legújabb verziójával, a bejelentkezési kiszolgáló értékével, és az Azure Container Registry hozzáférési beállításaival az oktatóanyag előző szakaszából. Példa:

    <properties>
       <jib-maven-plugin.version>3.2.0</jib-maven-plugin.version>
       <docker.image.prefix>wingtiptoysregistry.azurecr.io</docker.image.prefix>
       <java.version>1.8</java.version>
    </properties>
    
  3. Adja hozzá a jib-maven-plugin elemet a <plugins> gyűjteményhez a pom.xml fájlban. Ez a példa a 3.2.0-s verziót használja.

    Adja meg az alaplemezképet a <from>/<image> elemben; ez itt mcr.microsoft.com/openjdk/jdk:11-ubuntu. Adja meg annak a végső lemezképnek a nevét, amelyet a <to>/<image> alapból létre kell hozni.

    A {docker.image.prefix} hitelesítés a Bejelentkezési kiszolgáló a regisztrációs adatbázis korábban látható lapján. A {project.artifactId} a projekt első Maven-buildjéből származó JAR-fájl neve és verziószáma.

    <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>
    
  4. Nyissa meg a Spring Boot-alkalmazás elkészült projektkönyvtárát, és futtassa a következő parancsot a lemezkép újbóli létrehozásához, majd a tároló Azure Container Registrybe való leküldéséhez:

    az acr login --name wingtiptoysregistry && mvn compile jib:build
    

Feljegyzés

  1. A parancs az acr login ... megpróbál bejelentkezni az Azure Container Registrybe, ellenkező esetben meg kell adnia <username> a <password> jib-maven-beépülő modult, lásd a jib hitelesítési módszereit .
  2. Ha a Jib használatával küldi le a rendszerképet az Azure Container Registrybe, a rendszerkép nem használja a Dockerfile-t, a részletekért tekintse meg ezt a dokumentumot.

Webalkalmazás létrehozása Linux rendszeren az Azure App Service-ben a tárolólemezképpel

  1. Nyissa meg az Azure Portalt, és jelentkezzen be.

  2. Kattintson az Erőforrás létrehozása menüikonra, válassza a Számítás lehetőséget, majd a Web App lehetőséget.

    Create a new web app in the Azure portal

  3. Amikor megjelenik a Web App on Linux lap, adja meg a következő adatokat:

    • Válassza ki az Előfizetését a legördülő listából.

    • Válasszon egy meglévő Erőforráscsoportot, vagy adjon meg egy nevet egy új erőforráscsoport létrehozásához.

    • Egyedi nevet adjon meg az Alkalmazás neveként; példa: „wingtiptoyslinux

    • Adja meg a Docker Container értéket a Közzétételhez.

    • Válassza a Linux lehetőséget Operációs rendszerként.

    • Válassza a Régió lehetőséget.

    • Fogadja el a Linux-csomagot , és válasszon egy meglévő App Service-csomagot, vagy válassza az Új létrehozása lehetőséget egy új App Service-csomag létrehozásához.

    • Kattintson a Tovább gombra : Docker.

    Click the Next: Docker button to proceed.

    A Webalkalmazás lapon válassza a Docker lehetőséget, majd adja meg a következő adatokat:

    • Válassza az Egyetlen tároló lehetőséget.

    • Beállításjegyzék: Válassza ki a tárolót, például: "wingtiptoysregistry"

    • Kép: Válassza ki a korábban létrehozott képet, például: "spring-boot-docker"

    • Címke: Válassza ki a kép címkéjét, például: "legújabb"

    • Indítási parancs: Hagyja üresen, mivel a rendszerképen már szerepel az indítási parancs

    Miután megadta az összes fenti információt, válassza a Véleményezés + létrehozás lehetőséget.

    Finish by selecting Review + Create.

    • Válassza az Áttekintés + létrehozás lehetőséget.

Tekintse át az információkat, és válassza a Létrehozás lehetőséget.

Amikor az üzembe helyezés befejeződött, válassza az Erőforrás megnyitása lehetőséget. Az üzembe helyezési lapon megjelenik az alkalmazás eléréséhez használható URL-cím.

Get URL of deployment

Feljegyzés

Az Azure automatikusan hozzárendeli az internetes kérelmeket a 80-as porton futó, beágyazott Tomcat-kiszolgálóhoz. Ha azonban úgy konfigurálta a beágyazott Tomcat-kiszolgálót, hogy a 8080-as porton vagy egyéni porton fusson, hozzá kell adnia egy olyan környezeti változót a webalkalmazáshoz, amely megadja a beágyazott Tomcat-kiszolgáló portját. Ehhez a következőket kell tennie:

  1. Nyissa meg az Azure Portalt, és jelentkezzen be.

  2. Válassza ki a Web Apps ikonját, és válassza ki az alkalmazást az App Services lapon.

  3. Válassza a Konfiguráció lehetőséget a bal oldali navigációs panelen.

  4. Az Alkalmazásbeállítások szakaszban adjon hozzá egy új beállítást WEBSITES_PORT néven, amelynek értékeként adja meg az egyéni port számát.

  5. Kattintson az OK gombra. Ezután válassza a Mentés lehetőséget.

Saving a custom port number in the Azure portal

Az erőforrások eltávolítása

Ha már nincs rájuk szüksége, az Azure Portalon törölheti a cikkhez létrehozott erőforrásokat a váratlan költségek elkerülése érdekében.

Következő lépések

Ha szeretne többet megtudni a Spring és az Azure szolgáltatásról, lépjen tovább a Spring on Azure dokumentációs központra.

Lásd még

A Spring Boot-alkalmazások Azure-beli használatával kapcsolatban további információt az alábbi cikkben olvashat:

Az Azure a Javával való együttes használatáról további információt az Azure Java-fejlesztőknek és Az Azure DevOps és a Java használata című cikkben találhat.

A Spring Boot on Docker mintaprojekttel kapcsolatos további részletekért lásd: Spring Boot on Docker – Első lépések.

A Spring Boot-alkalmazásokkal kapcsolatos első lépésekért lásd: Spring Initializr, https://start.spring.io/.

További információk egyszerű Spring Boot-alkalmazások létrehozásának első lépéseiről: Spring Initializr, https://start.spring.io/.

További példákat egyéni Docker-lemezképek az Azure-ral való használatáról az Egyéni Docker-lemezkép használata az Azure Web Apphoz Linux rendszeren című cikkben találhat.