Nasazení aplikace Spring Boot na Linuxu ve službě Azure App Service
Tento kurz vás provede kontejnerizací aplikace Spring Boot pomocí Dockeru a nasazením vlastní image Dockeru na hostiteli s Linuxem ve službě Azure App Service.
Požadavky
K dokončení kroků v tomto kurzu budete potřebovat následující:
- Předplatné Azure. Pokud ještě předplatné Azure nemáte, můžete si aktivovat výhody pro předplatitele MSDN nebo si zaregistrovat bezplatný účet Azure.
- Rozhraní příkazového řádku Azure (CLI)
- Podporovaná sada Java Development Kit (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 Stacku.
- Nástroj pro sestavení Apache Maven (verze 3).
- Klient Git
- Klient Dockeru
Poznámka:
Vzhledem k tomu, že tento kurz vyžaduje virtualizaci, 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 virtualizačními funkcemi.
Vytvoření webové aplikace Začínáme s aplikací Spring Boot v Dockeru
Následující kroky vás provedou postupem vytvoření jednoduché webové aplikace Spring Boot a jejího místního otestování.
Otevřete příkazový řádek, vytvořte místní adresář, který bude obsahovat vaši aplikaci, a přejděte do tohoto adresáře. Například:
mkdir SpringBoot cd SpringBoot
Do vytvořeného adresáře naklonujte ukázkový projekt Začínáme s aplikací Spring Boot v Dockeru. Například:
git clone https://github.com/spring-guides/gs-spring-boot-docker.git
Přejděte do adresáře pro dokončený projekt; například:
cd gs-spring-boot-docker/complete
Zkompilujte soubor JAR pomocí Mavenu. Například:
mvn package
Po vytvoření webové aplikace přejděte do adresáře
target
, 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 ji místně otevřete ve webovém prohlížeči. Například pokud máte k dispozici nástroj curl a server Tomcat jste nakonfigurovali 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, která se použije jako privátní registr Dockeru
Následující kroky vás provedou vytvořením služby Azure Container Registry pomocí webu Azure Portal.
Poznámka:
Pokud místo webu Azure Portal chcete použít Azure CLI, postupujte podle kroků v článku Vytvoření privátního registru kontejnerů Dockeru pomocí Azure CLI 2.0.
Přejděte na web Azure Portal a přihlaste se.
Jakmile se přihlásíte ke svému účtu na webu Azure Portal, postupujte podle kroků v části Vytvoření privátního registru kontejneru Dockeru pomocí článku webu Azure Portal , který je v následujících krocích pro účely urychlení.
Klikněte na ikonu nabídky Nový, vyberte Kontejnery a pak vyberte Azure Container Registry.
Po zobrazení stránky Vytvoření registru kontejneru zadejte název registru, předplatné, skupinu prostředků a umístění. Pak vyberte Vytvořit.
V části Nastavení vyberte Přístupové klávesy a zapněte přepínač Povoleno za uživatelem Správa.
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 v textovém editoru.
V souboru pom.xml aktualizujte kolekci
<properties>
s použitím nejnovější verze modulu plug-in jib-maven-plugin, hodnoty přihlašovacího serveru a nastavení přístupu pro vaši službu Azure Container Registry z předchozí části tohoto kurzu. Pří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 modul plug-in jib-maven-plugin do kolekce
<plugins>
v souboru pom.xml. Tento příklad používá verzi 3.2.0.V uzlu
<from>/<image>
zadejte základní image, tady se používámcr.microsoft.com/openjdk/jdk:11-ubuntu
. V uzlu<to>/<image>
zadejte název finální image, která se vytvoří ze základní image.Hodnota
{docker.image.prefix}
pro ověřování je hodnota přihlašovacího serveru z výše uvedené stránky registru. Hodnota{project.artifactId}
je název a číslo verze souboru JAR z prvního sestavení Maven tohoto 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 vaší služby Azure Container Registry:
az acr login --name wingtiptoysregistry && mvn compile jib:build
Poznámka:
az acr login ...
Příkaz se pokusí přihlásit ke službě Azure Container Registry, jinak potřebujete zadat<username>
modul<password>
plug-in jib-maven-plugin, viz Metody 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 s využitím vlastní image kontejneru
Přejděte na web Azure Portal a přihlaste se.
Klikněte na ikonu nabídky Pro vytvoření prostředku, vyberte Compute a pak vyberte Web App.
Po zobrazení stránky Webová aplikace v Linuxu zadejte následující informace:
V rozevíracím seznamu Předplatné vyberte své předplatné.
V části Skupina prostředků zvolte existující skupinu prostředků nebo zadejte název nové skupiny prostředků, která se má vytvořit.
Zadejte jedinečný Název aplikace, například wingtiptoyslinux.
V části Publikovat zvolte
Docker Container
.Jako Operační systém zvolte Linux.
Vyberte Oblast.
Přijměte plán Linuxu a zvolte existující plán služby App Service nebo vyberte Vytvořit nový a vytvořte nový plán služby App Service.
Klikněte na Další: Docker.
Na stránce Webová aplikace vyberte Docker a zadejte následující informace:
Vyberte Jeden kontejner.
Registr: Zvolte 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:"latest"
Spouštěcí příkaz: Ponechte 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.
Až se nasazení dokončí, vyberte Přejít k prostředku. Na stránce nasazení se zobrazí adresa URL pro přístup k aplikaci.
Poznámka:
Azure bude automaticky mapovat internetové požadavky na vložený server Tomcat běžící na portu 80. Pokud jste ale server Tomcat nakonfigurovali tak, aby běžel na portu 8080 nebo na vlastním portu, musíte do webové aplikace přidat proměnnou prostředí s definicí portu pro váš vložený server Tomcat. Můžete to udělat podle následujících kroků:
Přejděte na web Azure Portal a přihlaste se.
Vyberte ikonu pro Web Apps a na stránce App Services vyberte aplikaci.
V levém navigačním podokně vyberte Konfigurace .
V části Nastavení aplikace přidejte nové nastavení s názvem WEBSITES_PORT a jako hodnotu zadejte vlastní číslo portu.
Vyberte OK. Pak vyberte Uložit.
Vyčištění prostředků
Až už je nebudete potřebovat, odstraňte na webu Azure Portal prostředky vytvořené v tomto článku, aby se vám neúčtovaly poplatky.
Další kroky
Pokud se chcete dozvědět více o architektuře Spring a Azure, přejděte do centra dokumentace Spring v 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í Javy v Azure najdete na webech 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 Začínáme s aplikací Spring Boot v Dockeru.
Pomoc v začátcích s vlastními aplikacemi Spring Boot najdete na stránce Spring Initializr na adrese https://start.spring.io/.
Další informace o tom, jak začít s vytvářením jednoduché aplikace Spring Boot, najdete na stránce Spring Initializr na adrese https://start.spring.io/.
Další příklady použití vlastních imagí Dockeru v Azure najdete v tématu pojednávajícím o použití vlastní image Dockeru pro webovou aplikaci Azure v Linuxu.