无法将 jmx 连接到在远程主机上的 docker 中运行的 java 应用程序

假设我的本地网络中有一台服务器,IP 为 192.168.100.10。里面有运行 java 应用程序的 docker 容器。现在我想从我的 IP 地址为 192.168.100.20 的计算机使用 VisualVM 连接到这个 Java 应用程序。我以为我已经正确配置了所有内容,但它仍然无法正常工作。


我已经通过了这些 JVM 选项:


   -Dcom.sun.management.jmxremote"

   -Dcom.sun.management.jmxremote.port=9010"

   -Dcom.sun.management.jmxremote.authenticate=false"

   -Dcom.sun.management.jmxremote.ssl=false"

   -Dcom.sun.management.jmxremote.local.only=false"

   -Dcom.sun.management.jmxremote.rmi.port=9010"

   -Djava.rmi.server.hostname=192.168.100.10"

然后我在 Dockerfile 中公开了端口 9010:


EXPOSE 9010

然后将此端口添加到 docker-compose:


    ports:

      - "9010:9010"

我正在尝试从我的本地计算机使用 JConsole 或 VisualVM 连接到远程主机。在 JConsole 的“远程进程”输入中,我输入了“192.168.100.10:9010”,但连接失败并显示错误:“与 192.168.100.10:9010 的连接没有成功。你想再试一次吗?”


我究竟做错了什么?


饮歌长啸
浏览 134回答 1
1回答

ABOUTYOU

上面的解决方案是足够的并且有效。我一直在使用 env 变量来设置无法正常工作的端口号。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java