我正在尝试使用 docker-compose.yml
在 tomcat docker 镜像上启用 JMX,但我仍然收到 VisualVM 无法连接到 JMX 的错误。
tomcat:
image: tomcat:8.0-jre8
environment:
CATALINA_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
ports:
- "9000:9000"
最佳答案
JMX 需要的不仅仅是一个端口,因为还涉及 RMI。远程 JMX 一直是 Tomcat 的挑战,而使用 Docker 基本上实现了这种“远程”访问。
看看 Tomcat 的 JMX Remote Lifecycle Listener查看可以设置的端口号,使用该监听器设置它们。如果不这样做,RMI 服务器基本上可以自由使用它想使用的任何端口,而且您无法预测它们。
设置这些端口后,将端口映射提供给 Docker,您就可以开始了。
关于java - 在 Tomcat docker 容器中启用 JMX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38859843/