Назад | Перейти на главную страницу

docker tomcat с jmx

Я пытаюсь создать образ докера с активированным tomcat и JMX.

Итак, я клонирую этот образ докера Tomcat https://github.com/tutumcloud/tutum-docker-tomcat. Я открыл порт 1099 и отредактировал сценарий запуска следующим образом:

#!/bin/bash

if [ ! -f /.tomcat_admin_created ]; then
    /create_tomcat_admin_user.sh
fi

export CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 
exec ${CATALINA_HOME}/bin/catalina.sh run

На данный момент я особо не считаю безопасность, я просто пытаюсь иметь доступный JMX.

Затем создайте образ docker build -t <name> и запустить это docker run -d -p 8080:8080 -p 1099:1099 <name>

Контейнер правильно запущен и порт вперед: 0.0.0.0:1099->1099/tcp, 0.0.0.0:8080->8080/tcp

И порт открыт telnet 192.168.59.103 1099. я использую 192.168.59.103 потому что я использую macos с boot2docker и 192.168.59.103 является boot2docker ip.

Но когда я пытаюсь подключиться к JMX через jconsole, я получаю тайм-аут.

Я нашел решение ..

Я должен объявить -Djava.rmi.server.hostname=192.168.59.103