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:

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

  1. 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
    
  2. 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
    
  3. Změnit adresář na dokončený projekt; například:

    cd gs-spring-boot-docker/complete
    
  4. Sestavení souboru JAR pomocí Mavenu; například:

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

    Procházení ukázkové aplikace lokálně

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.

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

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

    vytvořit nový Azure Container Registry

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

    konfigurace nastavení služby Azure Container Registry

  4. V Nastavení vyberte Přístupové klíče a zapněte přepínač Povoleno za uživatelem Admin.

    Povolení uživatelského rozhraní správce na webu 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 textovým editorem.

  2. 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>
    
  3. 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>, zde mcr.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>
    
  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 služby Azure Container Registry:

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

Poznámka

  1. 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.
  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 pomocí image kontejneru

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

  2. Klikněte na ikonu nabídky pro Vytvoření prostředku, vyberte Výpočeta pak vyberte Webovou aplikaci.

    Vytvoření nové webové aplikace na webu Azure Portal

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

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

    pokračujte kliknutím na tlačítko Další: 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".

    Dokončit výběrem možnosti 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.

získání adresy URL nasazení

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

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

  2. Vyberte ikonu pro Web Appsa vyberte svou aplikaci na stránce App Services.

  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 zadejte vlastní číslo portu pro hodnotu.

  5. Vyberte OK. Pak vyberte Uložit.

Uložení vlastního čísla portu na webu Azure Portal

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.