Udostępnij za pośrednictwem


Szybki start: kompilowanie i wypychanie obrazów kontenerów aplikacji Java Spring Boot do usługi Azure Container Registry

Ten przewodnik Szybki start umożliwia kompilowanie obrazów kontenerów aplikacji Java Spring Boot i wypychanie ich do usługi Azure Container Registry przy użyciu narzędzi Maven i Jib. Narzędzia Maven i Jib są jednym ze sposobów korzystania z narzędzi deweloperskich do interakcji z rejestrem kontenerów platformy Azure.

Wymagania wstępne

Tworzenie i tworzenie aplikacji Spring Boot na platformie Docker

Poniższe kroki przeprowadzą Cię przez proces tworzenia konteneryzowanej aplikacji internetowej Java Spring Boot i testowania jej lokalnie.

  1. W wierszu polecenia użyj następującego polecenia, aby sklonować przykładowy projekt Spring Boot na platformie Docker Getting Started .

    git clone https://github.com/spring-guides/gs-spring-boot-docker.git
    
  2. Zmiana katalogu na folder zawierający kompletny projekt.

    cd gs-spring-boot-docker/complete
    
  3. Za pomocą narzędzia Maven skompiluj i uruchom przykładową aplikację.

    mvn package spring-boot:run
    
  4. Przetestuj aplikację internetową, przechodząc do witryny http://localhost:8080 lub używając następującego polecenia curl:

    curl http://localhost:8080
    

Powinien zostać wyświetlony następujący komunikat: Hello Docker World

Tworzenie usługi Azure Container Registry za pomocą interfejsu wiersza polecenia platformy Azure

Następnie utworzysz grupę zasobów platformy Azure i usługę ACR, wykonując następujące kroki:

  1. Zaloguj się do konta platformy Azure przy użyciu następującego polecenia:

    az login
    
  2. Określ subskrypcję platformy Azure do użycia:

    az account set -s <subscription ID>
    
  3. Utwórz grupę zasobów dla zasobów platformy Azure używanych w tym samouczku. W poniższym poleceniu pamiętaj, aby zastąpić symbole zastępcze własną nazwą zasobu i lokalizacją taką jak eastus.

    az group create \
        --name=<your resource group name> \
        --location=<location>
    
  4. Utwórz prywatny rejestr kontenerów platformy Azure w grupie zasobów przy użyciu następującego polecenia. Pamiętaj, aby zastąpić symbole zastępcze rzeczywistymi wartościami. Instrukcja prześle później przykładową aplikację jako obraz Docker do tego rejestru.

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

Umieść aplikację w rejestrze kontenerów za pomocą Jib

Na koniec zaktualizujesz konfigurację projektu i użyjesz wiersza polecenia, aby skompilować i wdrożyć obraz.

Uwaga

Aby zalogować się do utworzonego rejestru kontenerów platformy Azure, musisz mieć uruchomiony demon Docker. Aby zainstalować platformę Docker na maszynie, zapoznaj się z oficjalną dokumentacją platformy Docker.

  1. Zaloguj się do usługi Azure Container Registry z poziomu interfejsu wiersza polecenia platformy Azure przy użyciu następującego polecenia. Pamiętaj, aby zastąpić element zastępczy własną nazwą rejestru.

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

    Polecenie az config ustawia domyślną nazwę rejestru do użycia z az acr poleceniami.

  2. Przejdź do katalogu ukończonego projektu aplikacji Spring Boot (na przykład „C:\SpringBoot\gs-spring-boot-docker\complete” lub „/users/robert/SpringBoot/gs-spring-boot-docker/complete”) i otwórz plik pom.xml w edytorze tekstu.

  3. <properties> Zaktualizuj kolekcję w pliku pom.xml przy użyciu następującego kodu XML. Zastąp symbol zastępczy nazwą rejestru i dodaj właściwość o wartości 2.2.0, lub użyj nowszej wersji wtyczki jib-maven-plugin.

    <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. Zaktualizuj <plugins> kolekcję w pliku pom.xml, aby element <plugin> zawierał wpis dla jib-maven-plugin, jak pokazano w poniższym przykładzie. Pamiętaj, że korzystamy z obrazu podstawowego z usługi Microsoft Container Registry (MCR): mcr.microsoft.com/openjdk/jdk:11-ubuntu, który zawiera oficjalnie obsługiwany zestaw JDK dla platformy Azure. Aby uzyskać informacje o innych obrazach podstawowych MCR z oficjalnie obsługiwanymi zestawami JDK, zobacz Instalowanie zestawu Microsoft Build of OpenJDK.

    <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. Przejdź do kompletnego katalogu projektu aplikacji Spring Boot i uruchom następujące polecenie, aby skompilować obraz i wypchnąć obraz do rejestru:

    az acr login && mvn compile jib:build
    

Uwaga

Ze względów bezpieczeństwa poświadczenie utworzone przez az acr login program jest ważne tylko przez 1 godzinę. Jeśli zostanie wyświetlony błąd 401 Brak autoryzacji , możesz ponownie uruchomić az acr login -n <your registry name> polecenie, aby ponownie uwierzytelnić.

Weryfikowanie obrazu kontenera

Gratulacje! Teraz masz zbudowaną na Azure konteneryzowaną aplikację Java z zestawem JDK wspieranym przez Azure, przesłaną do twojego ACR. Teraz możesz przetestować obraz, wdrażając go w Azure App Service lub pobierając go lokalnie za pomocą polecenia (zastępując symbol zastępczy):

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

Następne kroki

Aby uzyskać informacje o innych wersjach oficjalnych obrazów podstawowych Java obsługiwanych przez firmę Microsoft, odwiedź:

Aby dowiedzieć się więcej na temat oprogramowania Spring i platformy Azure, przejdź do centrum dokumentacji dotyczącej oprogramowania Spring na platformie Azure.

Dodatkowe zasoby

Aby uzyskać więcej informacji, zobacz następujące zasoby: