java使用JVisualVM在Docker上监控Glassfish 4
我无法将JVisualVM连接到Docker上运行的Glassfish。我正在使用glassfish nightly image,我正在暴露端口8686。启动时,Glassfish正在记录以下内容:
JMXStartupService has started JMXConnector on JMXService URL service:jmx:rmi://55bbdd404578:8686/jndi/rmi://55bbdd404578:8686/jmxrmi
我的docker主机的IP是192.168.99.100,我可以通过端口8686上的telnet进行连接
我正在使用的服务URL是service:jmx:rmi://192.168.99.100:8686/jndi/rmi://192.168.99.100:8686/jmxrmi
,我正在传递安全凭据,但无法连接。我错过什么了吗
# 1 楼答案
因此,Docker文件不公开端口8686 您需要使用publish 8686:8686 with docker run命令将该端口暴露给主机。查看docker help run以了解更多详细信息
# 2 楼答案
在同样的问题上挣扎
将以下内容添加到服务器配置中–>;jvm设置–>;JVM选项
剩下的就和以前一样做
当你看服务器的时候。log U会注意到JMX服务公开为:
很可能这些配置条目将e15295161718更改为IP,JVisualVM可以连接。从主持人的角度来看,e15295161718对JVisualVM来说是垃圾