Образ WildFly Docker связывает порт приложения (8080) со всеми сетевыми интерфейсами (используя -b 0.0.0.0
). Если вы хотите просматривать полнофункциональную симпатичную веб-консоль администрирования, тогда порт управления (9990) должен быть привязан ко всем сетевым интерфейсам, а также с помощью показанной команды:
1
|
docker run -P -d jboss /wildfly /opt/jboss/wildfly/bin/standalone .sh -b 0.0.0.0 -bmanagement 0.0.0.0 |
Это переопределяет команду по умолчанию в файле Docker, явно запускает WildFly и привязывает порт приложения и управления ко всем сетевым интерфейсам.
Флаг -P
сопоставляет любые сетевые порты внутри образа со случайным старшим портом в диапазоне от 49153 до 65535 на хосте Docker. Точный порт можно проверить с помощью команды docker ps
command as shown:
1
2
3
|
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f21dba8846bc jboss /wildfly :latest " /opt/jboss/wildfly/ 10 minutes ago Up 4 minutes 0.0.0.0:49161->8080 /tcp , 0.0.0.0:49162->9990 /tcp desperate_sammet |
В этом случае порт 8080
сопоставлен с 49161
а порт 9990
сопоставлен с 49162
. IP-адрес контейнеров Docker можно проверить с помощью команды boot2docker ip
. Веб-страница по умолчанию и консоль администратора могут быть доступны через эти порты.
Для доступа к консоли администрирования WildFly требуется пользователь из области администрирования. Это можно сделать с помощью изображения, которое создаст этот пользователь. А поскольку создается новый образ, Dockerfile также может использовать привязку сетевого интерфейса, чтобы сохранить простую фактическую командную строку. Dockerfile довольно прост:
1
2
3
4
5
|
FROM jboss /wildfly :latest RUN /opt/jboss/wildfly/bin/add-user .sh admin Admin #007 --silent CMD [ "/opt/jboss/wildfly/bin/standalone.sh" , "-b" , "0.0.0.0" , "-bmanagement" , "0.0.0.0" ] |
Это изображение уже было отправлено в Docker Hub, а исходный файл находится на github.com/arun-gupta/docker-images/tree/master/wildfly-admin . Итак, чтобы получить образ WildFly с Консолью администрирования, просто запустите образ, как показано:
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
|
docker run -P -d arungupta /wildfly-admin Unable to find image 'arungupta/wildfly-admin' locally Pulling repository arungupta /wildfly-admin db43099acb0f: Download complete 511136ea3c5a: Download complete 782cf93a8f16: Download complete 7d3f07f8de5f: Download complete 1ef0a50fe8b1: Download complete 20a1abe1d9bf: Download complete cd5bb934bb67: Download complete 379edb00ab07: Download complete 4d37cbbfc67d: Download complete 2ea8562cac7c: Download complete 7759146eab1a: Download complete b17a20d6f5f8: Download complete e02bdb6c4ed5: Download complete 72d585299bb5: Download complete 90832e1f0bb9: Download complete 2c3484b42034: Download complete 38fad13dea25: Download complete 656878d9a6c6: Download complete 6510de96c354: Download complete 0cc86be8ac93: Download complete bf17b0944e53: Download complete Status: Downloaded newer image for arungupta /wildfly-admin :latest b668945fec004bd2597b0e919fa12fb5bca36eb8e28bcc8872cf3321db666f10 |
Затем проверил сопоставленные порты как:
1
2
3
|
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b668945fec00 arungupta /wildfly-admin :latest " /opt/jboss/wildfly/ 5 minutes ago Up 8 seconds 0.0.0.0:49165->8080 /tcp , 0.0.0.0:49166->9990 /tcp mad_einstein |
Порт приложения сопоставлен с 49165, а порт управления сопоставлен с 49166. Получите доступ к консоли администратора по адресу http://192.168.59.103:49166/, которая затем запросит имя пользователя («admin») и пароль («Admin # 007») ).
Если вам не нравится, что Docker назначает случайные порты, вы можете сопоставить их с определенными портами, используя следующую команду:
1
|
docker run -p 8080:8080 -p 9990:9990 -d arungupta /wildfly-admin |
В этом случае порт приложения 8080 сопоставляется с 8080 на узле Docker, а порт управления 9990 сопоставляется с 9990 на узле Docker. Таким образом, консоль администратора будет доступна по адресу http://192.168.59.103:9990/.
Ссылка: | Консоль администратора WildFly в виде Docker от нашего партнера по JCG Аруна Гупта из Miles to go 2.0… блог. |