2016-08-09 4 views
2

Я новичок в JProfiler. Недавно я столкнулся с проблемой. Приложение Java работает в докере, что означает, что JVM запускается в докере. Но мой jprofile установлен на главной машине. Я знаю, что jprofiler должен подключиться к JVM. Итак, есть ли вообще что jprofiler может подключиться к jvm, работающему в докере?Может ли Jprofile подключиться к JVM, работающему в докере

+1

@PatrickAleman, который был бы хороший ответ –

+0

Возможные дубликатом [Remote profilling Java приложения] (http://stackoverflow.com/questions/7571247/remote- profilling-java-application) – the8472

+0

Но ответ на этот вопрос - это не то же самое, что я задал – shawn

ответ

1

Вы можете использовать этот файл докеров; https://registry.hub.docker.com/u/gingerbeard/java8-jprofiler/dockerfile/

FROM dockerfile/java:oracle-java8 
MAINTAINER gingerbeard <[email protected]> 

RUN wget http://download-aws.ej-technologies.com/jprofiler/jprofiler_linux_8_1_2.tar.gz -P /tmp/ &&\ 
tar -xzf /tmp/jprofiler_linux_8_1_2.tar.gz -C /usr/local &&\ 
rm /tmp/jprofiler_linux_8_1_2.tar.gz 

ENV JPAGENT_PATH="-agentpath:/usr/local/jprofiler8/bin/linux-x64/libjprofilerti.so=nowait" 
EXPOSE 8849 

CMD ["bash"] 

Обязательно проверьте порты.

0

GUI JProfiler подключается к профилирующему агенту, который загружается в профилированную JVM через сокет TCP.

Это всегда так, если профилированные JVM и JProfiler GUI работают на одном компьютере.

Вызов «Session-> Интеграционные мастера-> Новая удаленная интеграция» предоставит вам инструкции по настройке вручную.

+1

Я понял это. Правильный способ - установить jprofiler внутри контейнера с помощью java-приложения. Запустите jprofiler с помощью «docker exec» на вашей главной машине. Затем u может контролировать ваш контейнер на вашей локальной машине. – shawn

2

Это похоже на подключение JProfiler к удаленной JVM, вам просто нужно, чтобы агент JProfiler был готов в вашем контейнере и выставлял порт.

Это сообщение имеет шаг за шагом руководство http://geekspearls.blogspot.com.au/2016/08/configure-jprofiler-92-to-profiling.html

+0

Я обнаружил, что мне пришлось сопоставить порт после руководства. docker run -p 8849: 8849 imageName –

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