Nasazení aplikace Spring Boot do Linuxu ve službě Azure App Service
Tento kurz vás provede použitím Dockeru ke kontejnerizaci vaší aplikace Spring Boot a k nasazení vaší vlastní Docker image na hostitele s Linuxem ve službě Azure App Service.
Požadavky
Abyste mohli dokončit kroky v tomto kurzu, musíte mít následující požadavky:
- Předplatné Azure; Pokud ještě nemáte předplatné Azure, můžete aktivovat výhody pro předplatitele MSDN nebo si zaregistrovat bezplatný účet Azure.
- Azure Command-Line rozhraní (CLI).
- Podporovaná vývojová sada Javy (JDK). Další informace o sadách JDK, které jsou k dispozici při vývoji v Azure, najdete v tématu podpora Javy v Azure a azure Stack.
- nástroj pro sestavení Apache Maven (verze 3).
- Git klient.
- klient Docker.
Poznámka
Vzhledem k požadavkům na virtualizaci tohoto kurzu nemůžete postupovat podle kroků v tomto článku na virtuálním počítači; Musíte použít fyzický počítač s povolenými funkcemi virtualizace.
Vytvoření úvodní webové aplikace Spring Boot na Dockeru
Následující kroky provedou kroky potřebné k vytvoření jednoduché webové aplikace Spring Boot a jeho místní testování.
Otevřete příkazový řádek a vytvořte místní adresář pro uložení aplikace a změňte ho na tento adresář; například:
mkdir SpringBoot cd SpringBoot
Naklonujte ukázkový projekt Spring Boot v Dockeru Začínáme do vytvořeného adresáře; například:
git clone https://github.com/spring-guides/gs-spring-boot-docker.git
Změnit adresář na dokončený projekt; například:
cd gs-spring-boot-docker/complete
Sestavení souboru JAR pomocí Mavenu; například:
mvn package
Po vytvoření webové aplikace změňte adresář na
target
adresář, ve kterém se nachází soubor JAR, a spusťte webovou aplikaci; například:cd target java -jar spring-boot-docker-complete-0.0.1-SNAPSHOT.jar --server.port=80
Otestujte webovou aplikaci tak, že na ni přejdete místně pomocí webového prohlížeče. Pokud máte například k dispozici curl a nakonfigurovali jste server Tomcat tak, aby běžel na portu 80:
curl http://localhost
Měla by se zobrazit následující zpráva: Hello Docker World
Vytvoření služby Azure Container Registry pro použití jako privátního registru Dockeru
Následující kroky vás provedou vytvořením služby Azure Container Registry pomocí portálu Azure.
Poznámka
Pokud chcete místo webu Azure Portal použít Azure CLI, postupujte podle pokynů v tématu Vytvoření privátního registru kontejneru Dockeru pomocí azure CLI 2.0.
Přejděte na webu Azure Portal a přihlaste se.
Jakmile se přihlásíte ke svému účtu na portálu Azure, postupujte podle kroků v článku Vytvoření privátního Docker registry pomocí portálu Azure, který je parafrázovaný v následujících krocích pro zjednodušení.
Klikněte na ikonu nabídky pro Nový, vyberte Kontejnery, a poté vyberte Azure Container Registry.
Po zobrazení stránky Vytvořit registr kontejneru zadejte název registru, předplatné, skupinu prostředkůa umístění. Pak vyberte Vytvořit.
V Nastavení vyberte Přístupové klíče a zapněte přepínač Povoleno za uživatelem Admin.
Konfigurace Mavenu pro sestavení image do služby Azure Container Registry
Přejděte do adresáře dokončeného projektu aplikace Spring Boot, například C:\SpringBoot\gs-spring-boot-docker\complete nebo /users/robert/SpringBoot/gs-spring-boot-docker/complete – a otevřete soubor pom.xml textovým editorem.
Aktualizujte kolekci
<properties>
v souboru pom.xml nejnovější verzí modulu plug-in jib-maven-plugin, hodnotu přihlašovacího serveru a nastavení přístupu pro službu Azure Container Registry z předchozí části tohoto kurzu. Například:<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>
Přidejte jib-maven-plugin do kolekce
<plugins>
v souboru pom.xml. Tento příklad používá verzi 3.2.0.Zadejte základní image na
<from>/<image>
, zdemcr.microsoft.com/openjdk/jdk:11-ubuntu
. Zadejte název konečného snímku, který se má sestavit ze základny v<to>/<image>
.Ověřovací
je přihlašovacího serveru na stránce registru, která se zobrazila dříve. {project.artifactId}
je název a číslo verze souboru JAR z prvního sestavení Maven projektu.<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>
Přejděte do adresáře dokončeného projektu pro aplikaci Spring Boot a spuštěním následujícího příkazu znovu sestavte aplikaci a odešlete kontejner do služby Azure Container Registry:
az acr login --name wingtiptoysregistry && mvn compile jib:build
Poznámka
- Příkaz
az acr login ...
se pokusí přihlásit ke službě Azure Container Registry, jinak musíte zadat<username>
a<password>
pro plugin jib-maven-plugin, další informace naleznete v metodách ověřování v jib. - Pokud k nasdílení image do služby Azure Container Registry používáte Jib, image nebude používat soubor Dockerfile. Podrobnosti najdete v tomto dokumentu.
Vytvoření webové aplikace v Linuxu ve službě Azure App Service pomocí image kontejneru
Přejděte na webu Azure Portal a přihlaste se.
Klikněte na ikonu nabídky pro Vytvoření prostředku, vyberte Výpočeta pak vyberte Webovou aplikaci.
Když se zobrazí stránka Web App v Linuxu, zadejte následující informace:
V rozevíracím seznamu vyberte Předplatné.
Zvolte existující skupinu prostředkůnebo zadejte název pro vytvoření nové skupiny prostředků.
Zadejte jedinečný název pro název aplikace; například: wingtiptoyslinux
Zadejte
Docker Container
až Publikovat.V poli operačního systému
zvolte Linux .Vyberte oblasti .
Přijměte plán
Linuxu a zvolte existujícíplánu služby App Service nebo vyberte Vytvořit nový a vytvořte nový plán služby App Service.Klikněte na Dále: Docker.
Na stránce Web App vyberte Dockera zadejte následující informace:
Vyberte jediný kontejner.
Registr: Vyberte kontejner, například: wingtiptoysregistry.
image: Vyberte image vytvořenou dříve, například: spring-boot-docker.
značka: Zvolte značku obrázku, například: nejnovější.
spouštěcí příkaz: Nechte ho prázdné, protože image už má spouštěcí příkaz.
Po zadání všech výše uvedených informací vyberte "Zkontrolovat a vytvořit".
- Vyberte Zkontrolovat a vytvořit.
Zkontrolujte informace a vyberte Vytvořit.
Po dokončení nasazení vyberte Přejít k prostředku. Na stránce nasazení se zobrazí adresa URL pro přístup k aplikaci.
Poznámka
Azure automaticky mapuje internetové požadavky na vložený server Tomcat, který běží na portu – 80. Pokud jste ale nakonfigurovali vložený server Tomcat tak, aby běžel na portu – 8080 nebo na vlastním portu, musíte do webové aplikace přidat proměnnou prostředí, která definuje port pro vložený server Tomcat. Provedete to pomocí následujících kroků:
Přejděte na webu Azure Portal a přihlaste se.
Vyberte ikonu pro Web Appsa vyberte svou aplikaci na stránce App Services.
V levém navigačním podokně vyberte Konfigurace.
V části Nastavení aplikace přidejte nové nastavení s názvem WEBSITES_PORT a zadejte vlastní číslo portu pro hodnotu.
Vyberte OK. Pak vyberte Uložit.
Vyčištění prostředků
Pokud už je nepotřebujete, pomocí webu Azure Portal odstraňte prostředky vytvořené v tomto článku, abyste se vyhnuli neočekávaným poplatkům.
Další kroky
Další informace o Springu a Azure najdete v centru dokumentace Spring on Azure.
Viz také
Další informace o používání aplikací Spring Boot v Azure najdete v následujících článcích:
Další informace o používání Azure s Javou najdete v Azure pro vývojáře v Javě a Práce s Azure DevOps a javou.
Další podrobnosti o ukázkovém projektu Spring Boot v Dockeru najdete v tématu Spring Boot v Dockeru Začínáme.
Nápovědu k zahájení práce s vlastními aplikacemi Spring Boot najdete v tématu Spring Initializr na https://start.spring.io/.
Další informace o tom, jak začít vytvářet jednoduchou aplikaci Spring Boot, naleznete v aplikaci Spring Initializr na https://start.spring.io/.
Další příklady, jak používat vlastní image Dockeru s Azure, viz Použití vlastní image Dockeru pro Azure Web App na Linuxu.