2016-08-09 2 views
1

Я пытаюсь включить JMX на изображении докеры tomcat с помощью docker-compose.yml, но я все еще получаю ошибку, которую VisualVM не может подключиться к JMX.Включить JMX в контейнере докеров Tomcat

tomcat: 
    image: tomcat:8.0-jre8 
    environment: 
    CATALINA_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 
    ports: 
    - "9000:9000" 
+0

Вы можете видеть, что порт 9000 открыт после запуска сервера tomcat? – 11thdimension

+0

Да, он открыт, я проверил его с помощью 'nmap' –

ответ

1

JMX требует больше, чем просто одного порта, так как RMI также задействован. Удаленный JMX всегда является проблемой с Tomcat, и использование Docker в основном делает этот «удаленный» доступ.

Посмотрите на номера Tomcat JMX Remote Lifecycle Listener, чтобы увидеть номера портов, которые можно установить, и используйте этот прослушиватель, чтобы установить их. Если вы этого не сделаете, сервер RMI в принципе может использовать любые порты, которые он хочет использовать, и вы не можете их предсказать.

После того, как вы установили эти порты, дайте сопоставление портов Docker, и вам должно быть хорошо идти.

Смежные вопросы