Поделиться через


Краткое руководство. Создание и отправка образов контейнеров приложения Java Spring Boot в реестр контейнеров Azure

Это краткое руководство можно использовать для создания образов контейнеров приложения Java Spring Boot и отправки в реестр контейнеров Azure с помощью Maven и Jib. Использование Maven и Jib — это один из примеров работы со средствами разработчика по взаимодействию с реестром контейнеров Azure.

Предварительные условия

Создание и сборка приложения Spring Boot на Docker

Ниже представлены инструкции по созданию веб-приложения Java Spring Boot и его локальному тестированию.

  1. В командной строке выполните следующую команду, чтобы клонировать пример проекта по началу работы с приложением Spring Boot в Docker.

    git clone https://github.com/spring-guides/gs-spring-boot-docker.git
    
  2. Перейдите в каталог полного проекта.

    cd gs-spring-boot-docker/complete
    
  3. Используйте Maven для создания и запуска примера приложения.

    mvn package spring-boot:run
    
  4. Чтобы протестировать веб-приложение, перейдите по адресу http://localhost:8080 или введите такую команду curl:

    curl http://localhost:8080
    

Должно появиться следующее сообщение: Hello Docker World.

Создание реестра контейнеров Azure с помощью Azure CLI

Далее предстоит создать группу ресурсов Azure и ACR, выполнив следующие действия.

  1. Войдите в свою учетную запись Azure с помощью следующей команды:

    az login
    
  2. Укажите подписку Azure, которую нужно использовать:

    az account set -s <subscription ID>
    
  3. Создайте группу ресурсов Azure, используемых в этом руководстве. В следующей команде обязательно замените заполнители именем и расположением своего ресурса, например eastus.

    az group create \
        --name=<your resource group name> \
        --location=<location>
    
  4. Создайте частный реестр контейнеров Azure в группе ресурсов с помощью следующей команды. Убедитесь, что заменили заполнители на фактические значения. На более поздних этапах руководства образ Docker примерного приложения загружается в этот реестр.

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

Отправьте ваше приложение в реестр контейнеров через Jib.

Теперь вы можете обновить конфигурацию проекта и использовать командную строку для сборки и развертывания образа.

Примечание.

Чтобы войти в только что созданный реестр контейнеров Azure, необходимо запустить управляющую программу Docker. Чтобы установить Docker на компьютер, ознакомьтесь с официальной документацией по Docker.

  1. Войдите в Реестр контейнеров с помощью Azure CLI, используя следующую команду. Обязательно замените заполнитель именем своего реестра.

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

    Команда az config задает имя реестра по умолчанию для использования в командах az acr.

  2. Перейдите в каталог завершенного проекта для приложения Spring Boot (например, C:\SpringBoot\gs-spring-boot-docker\complete или /users/robert/SpringBoot/gs-spring-boot-docker/complete) и откройте файл pom.xml в текстовом редакторе.

  3. Обновите коллекцию <properties> в файле pom.xml следующим кодом XML. Замените заполнитель именем своего реестра, а также добавьте свойство <jib-maven-plugin.version> со значением 2.2.0 или обновленную версию 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. Обновите коллекцию <plugins> в файле pom.xml, чтобы элемент <plugin> содержал запись jib-maven-plugin, как показано в следующем примере. Обратите внимание, что мы используем базовый образ из Реестра контейнеров Майкрософт (MCR): mcr.microsoft.com/openjdk/jdk:11-ubuntu, который содержит официально поддерживаемый пакет JDK для Azure. Другие базовые образы MCR с официально поддерживаемыми пакетами JDK см. в разделе "Установка 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. Перейдите в каталог завершенного проекта для приложения Spring Boot и выполните указанную ниже команду для создания образа и его отправки в реестр:

    az acr login && mvn compile jib:build
    

Примечание.

По соображениям безопасности учетные данные, созданные az acr login, действительны только в течение 1 часа. При получении сообщения об ошибке 401 Не авторизовано можно выполнить команду az acr login -n <your registry name> еще раз для повторной проверки подлинности.

Проверьте образ вашего контейнера

Поздравляем! Теперь у вас есть отправленная в ACR контейнерная сборка приложения Java на основе JDK, поддерживаемого Azure. Теперь вы можете протестировать образ, развернув его в Службе приложений Azure или извлечь его локально с помощью команды (замените заполнитель).

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

Следующие шаги

Другие версии официальных базовых образов Java, поддерживаемых корпорацией Майкрософт, см. в следующих статьях:

Дополнительные сведения о Spring и Azure см. в центре документации об использовании Spring в Azure.

Дополнительные ресурсы

Дополнительные сведения см. на следующих ресурсах: