我在Docker容器中的tomcat上运行java web应用程序.
有没有办法监视java应用程序的内存使用情况?我尝试使用jconsole与docker的进程ID,但它告诉我无效的进程标识
我也在tomcat中启用JMX,但是不知道如何绑定它.我可以使用本地的visualvm来绑定主机,但是找不到绑定到主机内部的docker的方法.
有没有什么好办法实现这一点?
谢谢
最佳答案
要连接到运行在使用visualvm的boot2docker运行的docker容器中的java进程,可以尝试以下操作:
使用以下选项启动Java进程:
java -Dcom.sun.management.jmxremote.port=
" -djava.rmi.server.hostname=" "
您需要使用–expose< port>运行您的图像-p< port>:< port> ;.
然后在visualvm中使用@H_404_27@:< port> ;.中的“添加JMX连接”.
如果没有boot2docker,它不应该有太大的不同.