Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 Azure-abonnement; Meld u aan voor een gratis Azure-account of activeer voordelen van MSDN-abonnees als u nog geen Azure-abonnement hebt.
- Een ondersteunde Java Development Kit (JDK); Zie Java-ondersteuning voor Azure en Azure Stack voor meer informatie over beschikbare JDK's bij het ontwikkelen in Azure.
- De Azure CLI.
- Het Maven-buildhulpprogramma van Apache (versie 3 of hoger).
- Een Git-client.
- Een Docker-client.
- De ACR Docker-referentiehelper.
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.
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.gitWijzig de map in het volledige project.
cd gs-spring-boot-docker/completeGebruik Maven om de voorbeeld-app te bouwen en uit te voeren.
mvn package spring-boot:runTest de web-app door naar
http://localhost:8080te bladeren of met de volgende opdrachtcurl: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:
Meld u aan bij uw Azure-account met behulp van de volgende opdracht:
az loginGeef het te gebruiken Azure-abonnement op:
az account set -s <subscription ID>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>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.
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 loginMet de
az config-opdracht wordt de standaardnaam van het register ingesteld voor gebruik metaz acr-opdrachten.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.
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 waarde2.2.0of 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>Werk de
<plugins>verzameling in het pom.xml-bestand bij, zodat het<plugin>element bevat en een vermelding voor dejib-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>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: