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í:

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í.

  1. 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
    
  2. 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
    
  3. Přejděte do adresáře pro dokončený projekt; například:

    cd gs-spring-boot-docker/complete
    
  4. Zkompilujte soubor JAR pomocí Mavenu. Například:

    mvn package
    
  5. 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
    
  6. 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
    
  7. Měla by se zobrazit následující zpráva: Hello Docker World

    Browse Sample App Locally

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.

  1. 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í.

  2. Klikněte na ikonu nabídky Nový, vyberte Kontejnery a pak vyberte Azure Container Registry.

    Create a new Azure Container Registry

  3. 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.

    Configure Azure Container Registry settings

  4. V části Nastavení vyberte Přístupové klávesy a zapněte přepínač Povoleno za uživatelem Správa.

    Enable admin user UI in the Azure portal

Konfigurace Mavenu pro sestavení image do služby Azure Container Registry

  1. 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.

  2. 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>
    
  3. 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>
    
  4. 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:

  1. 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.
  2. 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

  1. Přejděte na web Azure Portal a přihlaste se.

  2. Klikněte na ikonu nabídky Pro vytvoření prostředku, vyberte Compute a pak vyberte Web App.

    Create a new web app in the Azure portal

  3. 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.

    Click the Next: Docker button to proceed.

    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.

    Finish by selecting Review + Create.

    • 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.

Get URL of deployment

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ů:

  1. Přejděte na web Azure Portal a přihlaste se.

  2. Vyberte ikonu pro Web Apps a na stránce App Services vyberte aplikaci.

  3. V levém navigačním podokně vyberte Konfigurace .

  4. V části Nastavení aplikace přidejte nové nastavení s názvem WEBSITES_PORT a jako hodnotu zadejte vlastní číslo portu.

  5. Vyberte OK. Pak vyberte Uložit.

Saving a custom port number in the Azure portal

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.