Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это краткое руководство можно использовать для создания образов контейнеров приложения Java Spring Boot и отправки в реестр контейнеров Azure с помощью Maven и Jib. Использование Maven и Jib — это один из примеров работы со средствами разработчика по взаимодействию с реестром контейнеров Azure.
Предварительные условия
- Подписка Azure. Если у вас ее еще нет, вы можете активировать преимущества для подписчиков MSDN или зарегистрироваться для получения бесплатной учетной записи Azure.
- Поддерживаемый пакет средств разработки Java (JDK). Дополнительные сведения о доступных JDK при разработке в Azure см. в статье поддержка Java в Azure и Azure Stack.
- Интерфейс командной строки Azure.
- Средство сборки Apache Maven версии 3.0 или более поздней.
- Клиент Git.
- Клиент Docker.
- Вспомогательное приложение для учетных данных ACR Docker.
Создание и сборка приложения Spring Boot на Docker
Ниже представлены инструкции по созданию веб-приложения Java Spring Boot и его локальному тестированию.
В командной строке выполните следующую команду, чтобы клонировать пример проекта по началу работы с приложением Spring Boot в Docker.
git clone https://github.com/spring-guides/gs-spring-boot-docker.git
Перейдите в каталог полного проекта.
cd gs-spring-boot-docker/complete
Используйте Maven для создания и запуска примера приложения.
mvn package spring-boot:run
Чтобы протестировать веб-приложение, перейдите по адресу
http://localhost:8080
или введите такую командуcurl
:curl http://localhost:8080
Должно появиться следующее сообщение: Hello Docker World.
Создание реестра контейнеров Azure с помощью Azure CLI
Далее предстоит создать группу ресурсов Azure и ACR, выполнив следующие действия.
Войдите в свою учетную запись Azure с помощью следующей команды:
az login
Укажите подписку Azure, которую нужно использовать:
az account set -s <subscription ID>
Создайте группу ресурсов Azure, используемых в этом руководстве. В следующей команде обязательно замените заполнители именем и расположением своего ресурса, например
eastus
.az group create \ --name=<your resource group name> \ --location=<location>
Создайте частный реестр контейнеров Azure в группе ресурсов с помощью следующей команды. Убедитесь, что заменили заполнители на фактические значения. На более поздних этапах руководства образ Docker примерного приложения загружается в этот реестр.
az acr create \ --resource-group <your resource group name> \ --location <location> \ --name <your registry name> \ --sku Basic
Отправьте ваше приложение в реестр контейнеров через Jib.
Теперь вы можете обновить конфигурацию проекта и использовать командную строку для сборки и развертывания образа.
Примечание.
Чтобы войти в только что созданный реестр контейнеров Azure, необходимо запустить управляющую программу Docker. Чтобы установить Docker на компьютер, ознакомьтесь с официальной документацией по Docker.
Войдите в Реестр контейнеров с помощью Azure CLI, используя следующую команду. Обязательно замените заполнитель именем своего реестра.
az config set defaults.acr=<your registry name> az acr login
Команда
az config
задает имя реестра по умолчанию для использования в командахaz acr
.Перейдите в каталог завершенного проекта для приложения Spring Boot (например, C:\SpringBoot\gs-spring-boot-docker\complete или /users/robert/SpringBoot/gs-spring-boot-docker/complete) и откройте файл pom.xml в текстовом редакторе.
Обновите коллекцию
<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>
Обновите коллекцию
<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>
Перейдите в каталог завершенного проекта для приложения 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.
Дополнительные ресурсы
Дополнительные сведения см. на следующих ресурсах:
- Azure для разработчиков Java
- Working with Azure DevOps and Java (Работа с Azure DevOps и Java)
- Начало работы с Spring Boot на Docker
- Spring Initializr
- Развертывание приложения Spring Boot Application в службе приложений Azure
- Применение пользовательского образа Docker для веб-приложения Azure на платформе Linux