Nasazení aplikace Spring Boot do Linuxu ve službě Azure App Service

V tomto kurzu se dozvíte, jak pomocí Dockeru kontejnerizovat aplikaci Spring Boot a nasadit vlastní image Dockeru do hostitele Linuxu v Azure App Service.

Požadavky

K dokončení kroků v tomto kurzu potřebujete 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 přejděte 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. Zobrazí se následující zpráva: Hello Docker World

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

Vytvoření 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.

    Po přihlášení ke svému účtu na portálu Azure postupujte podle kroků v tématu Vytvoření privátního registru kontejneru Dockeru pomocí článku Azure portálu. Následující kroky parafrázují tyto pokyny pro účely urychlení.

  2. Vyberte ikonu nabídky pro možnost Nový, vyberte Kontejnery a pak 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 části Nastavení vyberte Přístupové klíče a zapněte přepínač Povoleno pro uživatele správce.

    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 pro aplikaci Spring Boot , například C:\SpringBoot\gs-spring-boot-docker\complete nebo /users/robert/SpringBoot/gs-spring-boot-docker/complete – a otevřete pom.xml soubor v textovém editoru.

  2. Aktualizujte kolekci <properties> v souboru pom.xml o nejnovější verzi 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 <plugins> kolekce 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 výsledného image, které se má vytvořit ze základního image uvedeného v <to>/<image>.

    Ověření {docker.image.prefix} je server pro přihlášení na dříve zobrazené stránce registru. {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 dokončeného adresáře projektu pro aplikaci Spring Boot a spuštěním následujícího příkazu znovu sestavte aplikaci a odešlete kontejner do Azure Container Registry:

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

Poznámka

Příkaz az acr login ... se pokusí přihlásit do služby Azure Container Registry. V opačném případě musíte poskytnout <username> a <password> pro jib-maven-plugin. Další informace najdete v tématu Metody ověřování v jib.

Když použijete Jib k nasdílení image do Azure Container Registry, image nepoužívá soubor Dockerfile. Další informace najdete v tomto článku.

Vytvoření webové aplikace v Linuxu na Azure App Service pomocí image kontejneru

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

  2. Vyberte ikonu nabídky pro vytvoření prostředku, vyberte Výpočetní prostředky a potom vyberte Webová aplikace.

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

  3. Jakmile se zobrazí stránka Webové aplikace na 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 názvu 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 Linux 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.

    • Vyberte Další: 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 předchozí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 zdroji. 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 ale nakonfigurujete 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. Pokud chcete přidat proměnnou prostředí, postupujte následovně:

  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ž prostředky nepotřebujete, odstraňte je pomocí portálu Azure. Odstraněním zdrojů se můžete vyhnout 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 použití vlastních imagí Dockeru s Azure najdete v tématu Použití vlastní image Dockeru pro Azure Web App v Linuxu.