在Tomcat docker容器中启用JMX

时间:2016-08-09 20:28:01

标签: java tomcat docker docker-compose

我尝试使用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"

1 个答案:

答案 0 :(得分:1)

JMX需要的不仅仅是单个端口,因为RMI也参与其中。远程JMX始终是Tomcat的挑战,使用Docker基本上可以进行“远程”访问。

查看Tomcat的this npm package以查看可以设置的端口号,使用该侦听器设置它们。如果不这样做,RMI服务器基本上可以自由使用它想要使用的任何端口,你无法预测它们。

设置好这些端口后,将端口映射到Docker,你就应该好了。