Развертывание приложения Spring Boot в Службе приложений Azure в Linux
Из этого руководства вы узнаете, как с помощью Docker включить приложение Spring Boot в контейнер и развернуть образ Docker в узле Linux в Службе приложений Azure.
Необходимые компоненты
Для работы с этим руководством требуется следующее.
- Подписка Azure. Если у вас ее еще нет, вы можете активировать Преимущества для подписчиков MSDN или зарегистрироваться для получения бесплатной учетной записи Azure.
- Интерфейс командной строки Azure (CLI).
- Поддерживаемая версия Java Development Kit (JDK). Дополнительные сведения о версиях JDK, доступных для разработки в Azure, см. в статье Поддержка Java в Azure и Azure Stack.
- Средство сборки Apache Maven (версия 3).
- Клиент Git.
- Клиент Docker.
Примечание.
С учетом требований виртуализации для этого руководства изложенные здесь инструкции нельзя выполнять на виртуальной машине. Необходимо использовать физический компьютер с включенными функциями виртуализации.
Создание веб-приложения Spring Boot в Docker
Ниже приведены пошаговые инструкции по созданию простого веб-приложения Spring Boot и его локальному тестированию.
Откройте командную строку и создайте локальный каталог для размещения приложения, после чего перейдите в этот каталог, например:
mkdir SpringBoot cd SpringBoot
Клонируйте образец проекта Spring Boot on Docker Getting Started (Запуск Spring Boot в Docker) в созданный каталог, например:
git clone https://github.com/spring-guides/gs-spring-boot-docker.git
Перейдите в каталог готового проекта, например:
cd gs-spring-boot-docker/complete
Выполните сборку файла JAR с помощью Maven, например:
mvn package
После создания веб-приложения перейдите в каталог
target
, где находится JAR-файл, и запустите веб-приложение, например:cd target java -jar spring-boot-docker-complete-0.0.1-SNAPSHOT.jar --server.port=80
Проверьте веб-приложение, перейдя к нему локально с помощью веб-браузера. Например, если у вас установлен CuRL и сервер Tomcat настроен для работы с использованием порта 80:
curl http://localhost
Должно появиться следующее сообщение: Hello Docker World.
Создание реестра контейнеров Azure для использования в качестве частного реестра Docker
Ниже приведены инструкции по созданию реестра контейнеров Azure с использованием портала Azure.
Примечание.
Если вы хотите использовать Azure CLI, а не портал Azure, выполните процедуру, описанную в статье Создание частного реестра контейнеров Docker с помощью Azure CLI 2.0.
Перейдите на портал Azure и выполните вход.
После входа в свою учетную запись на портал Azure выполните действия, описанные в разделе "Создание частного реестра контейнеров Docker" с помощью статьи портал Azure, которая будет парафразирована в следующих шагах для целей удобства.
Щелкните значок меню Создать, а затем выберите Контейнеры и Реестр контейнеров Azure.
Когда откроется страница Создать реестр контейнеров, укажите имя реестра, подписку, группу ресурсов и расположение. Затем выберите Создать.
Выберите Ключи доступа в разделе Параметры и выберите Включено для параметра Администратор.
Настройка Maven для создания образа в Реестре контейнеров Azure
Перейдите в каталог завершенного проекта для приложения Spring Boot (например, C:\SpringBoot\gs-spring-boot-docker\complete или /users/robert/SpringBoot/gs-spring-boot-docker/complete) и откройте файл pom.xml в текстовом редакторе.
Обновите коллекцию
<properties>
в файле pom.xml, добавив последнюю версию jib-maven-plugin, значение сервера входа и параметры доступа для Реестра контейнеров Azure из предыдущего раздела этого руководства. Например:<properties> <jib-maven-plugin.version>3.2.0</jib-maven-plugin.version> <docker.image.prefix>wingtiptoysregistry.azurecr.io</docker.image.prefix> <java.version>1.8</java.version> </properties>
Добавьте jib-maven-plugin в коллекцию
<plugins>
в файле pom.xml. В этом примере используется версия 3.2.0.Укажите базовый образ в
<from>/<image>
(здесь этоmcr.microsoft.com/openjdk/jdk:11-ubuntu
). Укажите имя окончательного образа, который будет создан на основе базового в<to>/<image>
.{docker.image.prefix}
проверки подлинности — это значение сервера входа на странице реестра, показанной выше.{project.artifactId}
— это имя и номер версии JAR-файла из первой сборки проекта Maven.<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 и выполните команду ниже для перестроения приложения и отправки контейнера в реестр контейнеров Azure:
az acr login --name wingtiptoysregistry && mvn compile jib:build
Примечание.
az acr login ...
Команда попытается войти в Реестр контейнеров Azure, в противном случае необходимо предоставить<username>
и<password>
для jib-maven-plugin, см. методы проверки подлинности в jib.- При использовании Jib для отправки образа в Реестр контейнеров Azure образ не будет использоваться Dockerfile, см. этот документ.
Создание веб-приложения в Linux в службе приложений Azure с помощью образа контейнера
Перейдите на портал Azure и выполните вход.
Щелкните значок меню Создать ресурс, а затем выберите Вычисления и Веб-приложение.
Когда отобразится страница Веб-приложение в Linux, введите следующие сведения.
В раскрывающемся списке выберите свою подписку.
Выберите существующую группу ресурсов или укажите имя, чтобы создать новую группу ресурсов.
Введите уникальное имя в поле Имя приложения, например wingtiptoyslinux.
Укажите
Docker Container
для публикации.В поле Операционная система выберите Linux.
Выберите Регион.
Примите план Linux и выберите существующий план службы приложений или щелкните Создать, чтобы создать новый.
Нажмите кнопку " Далее": Docker.
На странице Веб-приложение выберите Docker и введите следующие сведения:
Выберите Один контейнер.
Реестр: выберите контейнер, например wingtiptoysregistry
Образ. Выберите созданный ранее образ, например spring-boot-docker.
Тег: выберите тег для изображения, например "последняя версия"
Команда запуска: оставьте его пустым, так как образ уже имеет команду запуска
После ввода всех приведенных выше сведений нажмите кнопку "Просмотр и создание".
- Выберите Review + create (Просмотреть и создать).
Просмотрите сведения и щелкните Создать.
После завершения развертывания выберите Перейти к ресурсу. На странице развертывания отобразится URL-адрес для доступа к приложению.
Примечание.
В Azure интернет-запросы будут автоматически сопоставляться со встроенным сервером Tomcat, который использует порт 80. Если вы настроили встроенный сервер Tomcat так, чтобы он работал с портом 8080 или пользовательским портом, в веб-приложение необходимо добавить переменную среды, которая определяет порт для вашего встроенного сервера Tomcat. Для этого выполните следующие действия.
Перейдите на портал Azure и выполните вход.
Щелкните значок Веб-приложения и выберите нужное приложение на странице Службы приложений.
В области навигации слева щелкните Конфигурация.
В разделе Параметры приложения добавьте новый параметр с именем WEBSITES_PORT и введите номер пользовательского порта в качестве значения.
Нажмите ОК. Затем выберите Сохранить.
Очистка ресурсов
Если они больше не нужны, используйте портал Azure, чтобы удалить ресурсы, созданные в этой статье во избежание непредвиденных расходов.
Следующие шаги
Дополнительные сведения о Spring и Azure см. в центре документации об использовании Spring в Azure.
См. также
Дополнительные сведения об использовании приложений Spring Boot в Azure см. в следующих статьях:
Дополнительные сведения об использовании Java в Azure см. в статьях Azure для разработчиков Java и Working with Azure DevOps and Java (Работа с Azure DevOps и Java).
Дополнительные сведения о Spring Boot в образце проекта Docker см. в разделе Spring Boot on Docker Getting Started (Начало работы с Spring Boot в Docker).
Справку по началу работы с собственными приложениями Spring Boot см. на странице Spring Initializr: https://start.spring.io/.
Дополнительные сведения о создании простого приложения Spring Boot см. на странице Spring Initializr: https://start.spring.io/.
Дополнительные примеры использования пользовательских образов Docker в Azure см. в разделе Применение пользовательского образа Docker для веб-приложения Azure на платформе Linux.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по