互联网服务DockerTomcatjconsole

jconsole监控远程docker环境中tomcat容器的JVM,无法连接

1.Docker环境
宿主机:192.168.1.100
Tomcat容器:
映射端口:9000:9000

配置:
JAVA_OPTS=" -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

本地客户机-->cmd-->jconsole.exe-->弹出“Java监视和管理控制台”-->选择“远程进程”,输入192.168.1.100:9000-->点击连接
提示“连接失败,是否重试!”


注:虚拟机环境下
虚拟机:192.168.1.105
端口:9000
同样的配置,jconsole可以正常连接 192.168.1.105:9000
参与24

15同行回答

Luga LeeLuga Lee系统架构师None
可以进行远程监控显示全部

可以进行远程监控

收起
互联网服务 · 2018-03-02
浏览5251
deat_sighdeat_sigh软件开发工程师IT
我尝试了另外一种方法:在docker启动的时候,加入设置docker run -i -t -p 8200:8080 \-p 9090:9090 \--name model_test \-e CATALINA_OPTS="-Djava.rmi.server.hostname=10.255.30.114 \-Dcom.sun.management.jmxremote \-Dcom.sun.management.jmxremote.port=9090 \-Dcom...显示全部

我尝试了另外一种方法:
在docker启动的时候,加入设置
docker run -i -t -p 8200:8080 \
-p 9090:9090 \
--name model_test \
-e CATALINA_OPTS="-Djava.rmi.server.hostname=10.255.30.114 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9090 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.rmi.port=9090" \
-d model:2.3
其实就是使用-e参数,将需要的环境打入.然后在远程的时候输入9090端口,就可以正常连接了。

收起
软件开发 · 2017-12-06
浏览5431
macan789macan789测试工程师evada
@sprewellkobe    telnet 192.168.1.100 9000  返回黑屏,端口正常显示全部
@sprewellkobe    telnet 192.168.1.100 9000  返回黑屏,端口正常收起
互联网服务 · 2015-09-10
浏览5490
macan789macan789测试工程师evada
@玫瑰结,你的qq多少,能联系你请教下吗?急着使用jconsole,非常感谢显示全部
@玫瑰结,你的qq多少,能联系你请教下吗?急着使用jconsole,非常感谢收起
互联网服务 · 2015-09-10
浏览5575
macan789macan789测试工程师evada
@玫瑰结,你有试过,可以是吗?显示全部
@玫瑰结,你有试过,可以是吗?收起
互联网服务 · 2015-09-10
浏览6178
sprewellkobesprewellkobe专有云TX
telnet 端口返回的错误是什么显示全部
telnet 端口返回的错误是什么收起
互联网服务 · 2015-09-09
浏览9466
玫瑰结玫瑰结网站架构师it教育基金
可以的啊。。。显示全部
可以的啊。。。收起
IT培训教育 · 2015-09-09
浏览9171
macan789macan789测试工程师evada
上面文章提到的“想使用jconsole,它依赖于JMX功能,JMX因为要使用RMI又需要网络。使用Docker的话就不是很直接,需要一些技巧去开启所需端口”不知道具体方法是什么?显示全部
上面文章提到的“想使用jconsole,它依赖于JMX功能,JMX因为要使用RMI又需要网络。使用Docker的话就不是很直接,需要一些技巧去开启所需端口”不知道具体方法是什么?收起
互联网服务 · 2015-09-09
浏览9336
macan789macan789测试工程师evada
http://cloud.51cto.com/art/201503/467732_1.htm显示全部
互联网服务 · 2015-09-09
浏览9214
macan789macan789测试工程师evada
从Java角度看Docker在Java开发人员中已经有些应用。Docker的某些特性让我们更容易构建可扩展的上下文。不像uber-jar,Docker可以帮助你将所有的依赖(包括JVM!)打包到一个随时可发布的镜像里。这是Docker吸引广大开发人员的重要特性。但是,这也会带来一些隐患。一般来说,程序员...显示全部
从Java角度看

Docker在Java开发人员中已经有些应用。Docker的某些特性让我们更容易构建可扩展的上下文。不像uber-jar,Docker可以帮助你将所有的依赖(包括JVM!)打包到一个随时可发布的镜像里。这是Docker吸引广大开发人员的重要特性。但是,这也会带来一些隐患。一般来说,程序员需要用不同的方式和代码交互 - 监控它,调试它,链接它,调优它。。。如果使用Docker,这些都会需要额外的工作。

比如,我们想使用jconsole,它依赖于JMX功能,JMX因为要使用RMI又需要网络。使用Docker的话就不是很直接,需要一些技巧去开启所需端口。我们最初发现这个问题是当我们想要构建Takipi的Docker安装器,我们不得不在容器里JVM之外运行了一个后台程序。详细的解决方案在GitHub上。收起
互联网服务 · 2015-09-09
浏览8674

提问者

macan789
测试工程师evada
擅长领域: 应用服务器Docker容器引擎

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-08-26
  • 关注会员:4 人
  • 问题浏览:23144
  • 最近回答:2018-03-02
  • X社区推广