Delen via


Quickstart: Containerinstallatiekopieën van de Java Spring Boot-app bouwen en pushen naar Azure Container Registry

U kunt deze quickstart gebruiken om containerinstallatiekopieën van de Java Spring Boot-app te bouwen en naar Azure Container Registry te pushen met behulp van Maven en Jib. Maven en Jib zijn een manier om hulpprogramma's voor ontwikkelaars te gebruiken om te communiceren met een Azure-containerregister.

Vereisten

Een Spring Boot-toepassing maken en bouwen in Docker

De volgende stappen helpen u bij het bouwen van een in een container geplaatste Java Spring Boot-webtoepassing en het lokaal testen ervan.

  1. Gebruik in de opdrachtprompt de volgende opdracht om het voorbeeldproject Aan de slag met Spring Boot in Docker te klonen.

    git clone https://github.com/spring-guides/gs-spring-boot-docker.git
    
  2. Wijzig de map in het volledige project.

    cd gs-spring-boot-docker/complete
    
  3. Gebruik Maven om de voorbeeld-app te bouwen en uit te voeren.

    mvn package spring-boot:run
    
  4. Test de web-app door naar http://localhost:8080 te bladeren of met de volgende opdracht curl:

    curl http://localhost:8080
    

Het volgende bericht wordt weergegeven: Hallo Docker World

Een Azure Container Registry maken met Azure CLI

Vervolgens maakt u een Azure-resourcegroep en uw ACR aan de hand van de volgende stappen:

  1. Meld u aan bij uw Azure-account met behulp van de volgende opdracht:

    az login
    
  2. Geef het te gebruiken Azure-abonnement op:

    az account set -s <subscription ID>
    
  3. Maak een resourcegroep voor de Azure-resources die in deze zelfstudie worden gebruikt. Vervang in de volgende opdracht de tijdelijke aanduidingen door de naam van uw eigen resource en een locatie zoals eastus.

    az group create \
        --name=<your resource group name> \
        --location=<location>
    
  4. Maak een privé-Azure-containerregister in de resourcegroep met behulp van de volgende opdracht. Zorg dat u de plaatsaanduidingen vervangt door echt waarden. In de zelfstudie wordt in latere stappen de voorbeeld-app als een Docker-installatiekopie naar dit register gepusht.

    az acr create \
        --resource-group <your resource group name> \
        --location <location> \
        --name <your registry name> \
        --sku Basic
    

Uw app via Jib naar het containerregister pushen

Ten slotte werkt u de projectconfiguratie bij en gebruikt u de opdrachtprompt om uw installatiekopie te ontwerpen en te implementeren.

Notitie

Als u zich wilt aanmelden bij het Azure-containerregister dat u zojuist hebt gemaakt, dan moet u de Docker-daemon uitvoeren. Hier is de officiële Docker-documentatie om Docker op uw computer te installeren.

  1. Meld u aan bij uw Azure Container Registry vanaf de Azure CLI met behulp van de volgende opdracht. Vervang de tijdelijke aanduiding door de naam van uw eigen register.

    az config set defaults.acr=<your registry name>
    az acr login
    

    Met de az config-opdracht wordt de standaardnaam van het register ingesteld voor gebruik met az acr-opdrachten.

  2. Navigeer naar de voltooide projectmap voor uw SpringBoot-app (bijvoorbeeld C:\SpringBoot\gs-spring-boot-docker\complete of /users/robert/SpringBoot/gs-spring-boot-docker/complete) en open het bestand pom.xml met een teksteditor.

  3. Werk de verzameling <properties> in het bestand pom.xml bij met de volgende XML. Vervang de tijdelijke aanduiding door de naam van uw register en voeg een <jib-maven-plugin.version>-eigenschap met de waarde 2.2.0 of een nieuwere versie van de jib-maven-invoegtoepassing toe.

    <properties>
       <docker.image.prefix><your registry name>.azurecr.io</docker.image.prefix>
       <java.version>1.8</java.version>
       <jib-maven-plugin.version>2.2.0</jib-maven-plugin.version>
    </properties>
    
  4. Werk de <plugins> verzameling in het pom.xml-bestand bij, zodat het <plugin> element bevat en een vermelding voor de jib-maven-plugin, zoals wordt weergegeven in het volgende voorbeeld. U ziet dat we een basisinstallatiekopie uit het MCR (Microsoft-containerregister) gebruiken: mcr.microsoft.com/openjdk/jdk:11-ubuntu. Deze bevat een officieel ondersteunde JDK voor Azure. Zie De Microsoft-build van OpenJDK installeren voor andere MCR-basisinstallatiekopieën met officieel ondersteunde JDK .

    <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>
    
  5. Navigeer naar de volledige projectmap voor uw Spring Boot-toepassing en voer de volgende opdracht uit om de installatiekopie te bouwen en de installatiekopie naar het register te pushen:

    az acr login && mvn compile jib:build
    

Notitie

Uit veiligheidsoverwegingen is de referentie die is gemaakt door az acr login slechts één uur geldig. Als u een foutmelding 401 Niet geautoriseerd krijgt, dan kunt u de opdracht az acr login -n <your registry name> uitvoeren om zich opnieuw te verifiëren.

De containerinstallatiekopie verifiëren

Gefeliciteerd U heeft u uw door een in een container geplaatste Java App-build in een door Azure ondersteunde JDK die gepusht is naar uw ACR. U kunt de installatiekopie nu testen door deze te implementeren in Azure App Service, of deze naar een lokale locatie te halen met de opdracht (tijdelijke aanduiding vervangen):

docker pull <your registry name>.azurecr.io/gs-spring-boot-docker

Volgende stappen

Zie voor andere versies van de officiële door Microsoft ondersteunde Java-basisinstallatiekopieën:

Voor meer informatie over Spring en Azure gaat u door naar het documentatiecentrum van Spring op Azure.

Aanvullende resources

Voor meer informatie raadpleegt u de volgende bronnen: