Can Jprofile connect to JVM running in docker

11,155

Solution 1

It is similar as connects JProfiler to a remote JVM, you just need to have the JProfiler agent ready inside your container and expose the port.

This post has a step by step guide http://geekspearls.blogspot.com.au/2016/08/configure-jprofiler-92-to-profiling.html

Solution 2

You can use this dockerfile; 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"]

make sure to check the ports.

Share:
11,155

Related videos on Youtube

shawn
Author by

shawn

Master Student majoring in Computer Science at Columbia University

Updated on June 04, 2022

Comments

  • shawn
    shawn almost 2 years

    I'm new to JProfiler. I came into a problem recently. My Java app is running in docker which means the JVM is runnning in docker. But my jprofile is installed in the host machine. I know the jprofiler must connect to a JVM. So, is there anyway that the jprofiler can connect to jvm running in docker?

    • Ingo Kegel
      Ingo Kegel about 9 years
      @PatrickAleman that would be a good answer
  • shawn
    shawn over 7 years
    I've figured it out. The right way is install jprofiler inside the container with your java app. Start the jprofiler using "docker exec" in your host machine. Then u can monitor your container in your local machine.
  • Will Humphreys
    Will Humphreys almost 7 years
    I found I had to map the port after following the guide. docker run -p 8849:8849 imageName

Related