не удается подключиться к процессу jmx jar в контейнере docker через jconsole

#java #docker #jmx

#java #docker #jmx

Вопрос:

Я пытаюсь получить показатели из процесса Java, который выполняется в контейнере docker. Процесс был запущен с помощью следующей команды, но попытка получить к нему доступ через jconsole в качестве теста приводит к повторной попытке «сбой соединения»?

 docker run -d --name=process-2-kafka --restart=always -p 22222:22222 -v 
/var/local/Blogs_Services/ProcessKafaka/:/program -w /program openjdk:8 
java
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=22222 - 
Dcom.sun.management.jmxremote.ssl=false - 
Dcom.sun.management.jmxremote.authenticate=false -jar testkafka.jar - 
Dcom.sun.management.jmxremote.local.only=false – 
Djava.rmi.server.hostname=192.www.xxx.yy – 
Dcom.sun.management.jmxremote.rmi.port=22222
  

Я добавил rmi.port и server.hostname после поиска в Интернете, но по-прежнему выдает ту же ошибку. У кого-нибудь есть решение для этого?

Комментарии:

1. Можете ли вы подключить telnet к порту изнутри и снаружи вашего контейнера docker?

2. Контейнер запускается на чужом компьютере. Мне нужно будет получить доступ к этому компьютеру, чтобы проверить. Дайте мне минутку. Спасибо

3. Я могу подключиться по telnet к порту вне контейнера, но не уверен, как это сделать внутри контейнера, не прерывая его запущенный процесс.

Ответ №1:

Общеизвестно, что подключения JMX к контейнерам вызывают разочарование. Я бы предложил попробовать две вещи:

  1. Используйте отдельный порт для jmxremote.port и jmxremote.rmi.port (например, 22222 и 22223) и перенаправьте оба из них в docker

  2. Задайте в качестве вашего java.rmi.server.hostname имени, например dockerhost , и добавьте dockerhost IP-адрес компьютера, на котором размещен контейнер, в ваш файл hosts на всех компьютерах, на которых запущен контейнер docker, сам контейнер docker и компьютер, на котором вы запускаете jconsole. Затем, когда вы пытаетесь подключиться к JMX, используйте dockerhost в URL вместо IP-адреса.

Возможно, это не решит вашу проблему, но скрестив пальцы, удачи!

Комментарии:

1. итак, это не сработало, но спасибо за предложение.