Не удается подключить jmx к приложению java, запущенному в докере на удаленном хосте - PullRequest
0 голосов
/ 11 июля 2019

Предполагается, что в моей локальной сети есть сервер с IP 192.168.100.10. В нем запущен Docker-контейнер с Java-приложением. Теперь я хочу подключиться к этому Java-приложению с VisualVM с моего компьютера, который имеет IP-адрес 192.168.100.20. Я думал, что все настроено правильно, но все равно не работает.

Я прошел следующие параметры JVM:

   -Dcom.sun.management.jmxremote"
   -Dcom.sun.management.jmxremote.port=9010"
   -Dcom.sun.management.jmxremote.authenticate=false"
   -Dcom.sun.management.jmxremote.ssl=false"
   -Dcom.sun.management.jmxremote.local.only=false"
   -Dcom.sun.management.jmxremote.rmi.port=9010"
   -Djava.rmi.server.hostname=192.168.100.10"

Тогда я выставил порт 9010 в Dockerfile:

EXPOSE 9010

Затем добавил этот порт в docker-compose:

    ports:
      - "9010:9010"

Я пытаюсь подключиться к удаленному хосту с помощью JConsole или VisualVM с моего локального компьютера. Во вход «Удаленный процесс» в JConsole я вставил «192.168.100.10:9010», но соединение не удалось с ошибкой: «Соединение с 192.168.100.10:9010 не удалось. Хотите попробовать еще раз?»

Что я делаю не так?

1 Ответ

0 голосов
/ 12 июля 2019

Решение выше достаточно и работает. Я использовал переменную env для установки номера порта, который не работал должным образом.

...