Статьи

Консоль администратора WildFly в образе Docker

Образ 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») ).

techtip66-админ-консоль

Если вам не нравится, что 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/.