В этой статье я продолжаю серию статей о запуске приложений Eclipse MicroProfile в Oracle Cloud , демонстрируя, как это сделать в веб-приложениях Microsoft Azure для контейнеров .
Я использую то же простое приложение под названием CloudEE Duke, что и в предыдущих постах. Разница лишь в том, что я теперь упаковываю приложения как Docker Images. В этом примере я покажу, как использовать плагин fabric8 Maven для создания образа докера для WildFly Swarm .
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
< plugin > < groupId >io.fabric8</ groupId > < artifactId >docker-maven-plugin</ artifactId > < version >${version.docker-maven-plugin}</ version > < configuration > < images > < image > < alias >${project.artifactid}</ alias > < name >ivargrimstad/${project.artifactId}:swarm</ name > < build > < from >jboss/base-jdk:8</ from > < assembly > < basedir >/</ basedir > < inline > < files > < file > < source >${project.build.directory}/${project.build.finalName}-hollow-swarm.jar</ source > < outputDirectory >/opt</ outputDirectory > </ file > < file > < source >${project.build.directory}/${project.build.finalName}.war</ source > < outputDirectory >/opt</ outputDirectory > </ file > </ files > </ inline > </ assembly > < entryPoint > < arg >java</ arg > < arg >-Djava.net.preferIPv4Stack=true</ arg > < arg >-jar</ arg > < arg >/opt/${project.build.finalName}-hollow-swarm.jar</ arg > < arg >/opt/${project.build.finalName}.war</ arg > </ entryPoint > </ build > </ image > </ images > </ configuration > < executions > < execution > < phase >package</ phase > < goals > < goal >build</ goal > </ goals > </ execution > </ executions > </ plugin > |
Конфигурация аналогична для других реализаций Eclipse MicroProfile. Смотрите полный pom.xml для примеров. Чтобы создать образ докера для реализации CloudEE Duke в WildFly Swarm, используйте следующую команду:
1
|
mvn clean package docker:build -Pswarm |
Как только изображение будет создано, вам нужно опубликовать его в реестре контейнера. В моем случае я просто отправляю его на общедоступный Docker Hub .
Чтобы развернуть приложение CloudEE Duke в Microsoft Azure, войдите на портал Azure и создайте новое веб-приложение для контейнеров, как показано ниже.
Поскольку WildFly Swarm по умолчанию работает на порте 8080 (и я здесь использую все значения по умолчанию), необходимо настроить номер порта для приложения. Это можно сделать либо в пользовательском интерфейсе, либо с помощью Cloud Shell, как показано здесь:
Когда ваше приложение будет развернуто, вы сможете получить доступ к конечной точке приветствия.
https://cloudee-duke-swarm.azurewebsites.net/hello
Герцог говорит привет!
https://cloudee-duke-swarm.azurewebsites.net/health
1
2
3
4
|
{ outcome: “UP”, checks: [ ] } |
https://cloudee-duke-swarm.azurewebsites.net/metrics
1
2
3
|
# HELP base:classloader_total_loaded_class_count Displays the total number of classes that have been loaded since the Java virtual machine has started execution. # TYPE base:classloader_total_loaded_class_count counter base:classloader_total_loaded_class_count 13697.0 |
Опубликовано на Java Code Geeks с разрешения Ивара Гримстада, партнера нашей программы JCG . См. Оригинальную статью здесь: Запуск Eclipse MicroProfile в Microsoft Azure.
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |