2016-08-09 7 views
1

Ich versuche, JMX auf Tomcat Docker Bild mit docker-compose.yml zu aktivieren, aber ich bekomme immer noch Fehler, dass VisualVM nicht mit dem JMX verbinden kann.Aktivieren Sie JMX in Tomcat Docker Container

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" 
+0

Können Sie sehen, dass der Port 9000 geöffnet ist, nachdem der Tomcat-Server gestartet wurde? – 11thdimension

+0

Ja, es ist offen, ich habe es mit 'nmap' überprüft –

Antwort

1

JMX benötigt mehr als nur einen einzigen Port, da auch RMI beteiligt ist. Remote-JMX ist immer eine Herausforderung mit Tomcat, und die Verwendung von Docker macht diesen "Remote" -Vorzug grundsätzlich möglich.

Werfen Sie einen Blick auf Tomcat JMX Remote Lifecycle Listener, um die Portnummern zu sehen, die eingestellt werden können, und verwenden Sie diesen Listener, um sie zu setzen. Wenn Sie dies nicht tun, kann der RMI-Server grundsätzlich die Ports verwenden, die er verwenden möchte, und Sie können sie nicht vorhersagen.

Sobald Sie diese Ports eingestellt haben, geben Sie die Port-Zuordnung zu Docker und Sie sollten gut gehen.

Verwandte Themen