Ошибка --- Консольные порты wildfly Docker не по умолчанию - PullRequest
0 голосов
/ 08 ноября 2018

У меня проблема с докером-контейнером. Проблема заключается в следующем, я хочу запустить контейнер с различными портами, которые загружены по умолчанию 8080 для приложения и 9090 для консоли. Мне удалось изменить порт приложения по умолчанию, с помощью этой инструкции

docker run -P -d jboss / wildfly /opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0

-P flag сопоставляет любые сетевые порты внутри образа со случайным старшим портом в диапазоне от 49153 до 65535 на хосте Docker

Но я не могу получить доступ к консоли администратора, с другой стороны, я создал файл Docker с этими значениями

FROM jboss / wildfly
RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin # 70365 --silent
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0", "-Djboss.socket.binding.port-offset = 5 "]

И еще один, удалив значения смещения

FROM jboss / wildfly
RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin # 70365 --silent
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]

Я могу поднять контейнер, но у меня все еще нет доступа к консоли управления Wildfly. Что я могу сделать, чтобы поднять консоль?

1 Ответ

0 голосов
/ 13 ноября 2018

Вам необходимо указать сопоставление портов с помощью "-p":

-p=[]      : Publish a container's port or a range of ports to the host

С "- P" (заглавными буквами) опция: Публикация всех открытых портов на интерфейсах хоста.

Если вы все еще хотите использовать опцию «-P», используйте Dockerfile: (добавьте EXPOSE порт для консоли администрирования)

    FROM jboss/wildfly

    # Expose the ports we're interested in
    EXPOSE 9990

    RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin#70365 --silent
    CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]

Тогда вы можете построить изображение:

 docker build --tag=jboss/wildfly-admin .

Запустите его:

docker run -it -P jboss/wildfly-admin

Список контейнеров:

docker container ls

Вы можете получить тот же результат здесь:

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                              NAMES
91b6bc131b28        jboss/wildfly-admin   "/opt/jboss/wildfly/…"   13 seconds ago      Up 12 seconds       0.0.0.0:32771->8080/tcp, 0.0.0.0:32770->9990/tcp   quirky_nightingale

Ваш контейнер работает и предоставляет порт 32770 для управления. Консоль администрирования должна быть доступна на http://localhost:32770 (для моего случая)

...