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:
- Egy Azure-előfizetés. Ha még nincs Azure-előfizetése, aktiválhatja MSDN-előfizetői előnyeit, vagy regisztrálhat egy ingyenes Azure-fiókot.
- Az Azure parancssori felület (CLI).
- Egy támogatott Java fejlesztői készlet (JDK). Az Azure-beli fejlesztés során használható JDK-król további információt az Azure-ban és az Azure Stackben elérhető Java-támogatásban talál.
- Apache Maven buildelési eszköz (3. verzió).
- Egy Git-ügyfél.
- Egy Docker-ügyfél.
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.
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
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
Váltsa a könyvtárat a befejezett projektre, például:
cd gs-spring-boot-docker/complete
Készítse el a JAR-fájlt a Mavennel, például:
mvn package
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
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
A következő üzenet jelenik meg: Hello Docker World
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.
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.
Kattintson az Új menü ikonra, válassza a Tárolók lehetőséget, majd az Azure Container Registryt.
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.
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.
A Maven konfigurálása az Azure Container Registry rendszerképének létrehozására
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.
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>
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 ittmcr.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>
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
- 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 . - 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
Nyissa meg az Azure Portalt, és jelentkezzen be.
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.
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.
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.
- 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.
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:
Nyissa meg az Azure Portalt, és jelentkezzen be.
Válassza ki a Web Apps ikonját, és válassza ki az alkalmazást az App Services lapon.
Válassza a Konfiguráció lehetőséget a bal oldali navigációs panelen.
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.
Kattintson az OK gombra. Ezután válassza a Mentés lehetőséget.
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.