docker-compose启动的tomcat无法远程连接jmx
最近想学习下java GC优化,就用了一下VisualVM,在远程服务器启动了一个非docker的tomcat,很顺利的就连接了,但是用docker-compose启动的服务却
怎么也连不上,一定是docker的锅.
最终找到了解决方法,在这里 https://forums.docker.com/t/enable-jmx-rmi-access-to-a-docker-container/625
这篇文章中最重要的一句话就是
In my case, I am working with docker-compose please DON FORGET to expose the SAME PORT 6001 in the remote docker host (it won't work if you expose in another port differently that jmxremote.port and jmxremote.rmi.port):
一句话概括就是: docker-compose暴露的端口要跟jmx的端口一样
好了,问题解决,下面写出tomcat配置jmx的方法:
1. docker-compose.yml
web:
image: "registry.xxxxxx.com/msgbox/base_tomcat:tomcat7.42_jdk8u40"
ports:
- :
- :
- :
volumes:
- ./confs:/data1/confs
- ./web/webapps:/data1/xxx/webapps
- ./authconfs:/data1/authconfs
- ./web/logs:/data1/xxx/logs
environment:
- NAME_CONF=test-yf=/data1/xxx/bin/./
- RUN_COMMAND=catalina.sh jpda run
- JMX_PORT=
- JMX_HOST=10.77.6.164
- CATALINA_HEAP=-server -Xmx768m -Xmn100m -Xms768m
links:
- kafka
2. setenv.sh
if [[ ! -z "$JMX_PORT" ]]; then
if [ -z "$JMX_HOST" ]; then
JMX_HOST=$(hostname -i)
fi
CATALINA_EXTRA="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=${JMX_PORT} -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access -Djava.rmi.server.hostname=${JMX_HOST} -Dcom.sun.management.jmxremote.rmi.port=${JMX_PORT}"
fi
完成
docker-compose启动的tomcat无法远程连接jmx的更多相关文章
- 利用docker compose启动gitlab及runner
		
添加docker compose配置文件 新建文件docker-compose.yml,输入如下内容: gitlab: image: 'gitlab/gitlab-ce:latest' contain ...
 - docker构建mysql容器及Navicat 远程连接
		
1. MySQL部署 1.1拉取MySQL镜像 docker pull mysql 查看镜像 docker images 1.2创建MySQL容器 首先建立所需要的 文件夹: docker run - ...
 - Docker Compose 启动mysql,redis,rabbitmq
		
这里使用的centos7,首先切换到root. sudo -s 首先去设置下载镜像,否则下载这三个东西要很久,而且可能失败. vim /etc/docker/daemon.json 内容如下: { & ...
 - linux 配置tomcat运行远程监控(JMX)
		
在实际使用中,我们经常要监控tomcat的运行性能.需要配置相应的参数提供远程连接来监控tomcat服务器的性能.本文详细介绍如何一步一步的配置tomcat相应参数.允许远程连接监控. 工具/原料 v ...
 - jconsole远程连接 jmx配置注意事项
		
由于在测试程序时需要收集程序运行时的内存,CPU等消耗情况.选择了jconsole这个jdk自带工具来观察.为了不影响程序运行状态,用远程连接的方式来具体观察. 首先,程序是放在ubutun系统服务器 ...
 - Ubuntu18.04下安装Docker并配置SSL证书加密远程连接
		
Docker下载与安装 下载安装包 国内网络连接docker镜像还是比较慢的,这里推荐直接下载docker镜像,Ubuntu镜像下载路径为:https://download.docker.com/li ...
 - 用Docker Compose启动Nginx和Web等多个镜像
		
安装docker-compose 运行命令 curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker ...
 - docker compose启动服务超时重启记录
		
一.停docker systemctl stop docker 然后ps -aux grep docker发现有些docker进程还是存在,此时强杀存在的docker进程:ps -aux|grep d ...
 - docker compose不同配置文件之间的 网络连接
		
一.引用自https://blog.csdn.net/luckyjiet/article/details/80979378 二.
 
随机推荐
- LoadRunner 实现监控Tomcat
			
LoadRunenr没有监控Tomcat的专用监控器,为了用lr达到监控tomcat的目的可以通过打开Tomcat自带的Status页面之后,利用lr的关联技术得到相关的数据,把数据输出到lr自定义的 ...
 - Maven命令行使用:mvn clean compile(编译)
			
先把命令行切换到Maven项目的根目录,比如:/d/xxxwork/java/maven-test,然后执行命令: mvn clean compile 执行结果如下: [INFO] Scanning ...
 - java web学习总结(四) -------------------HTTP协议
			
一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...
 - GJM :多人在线游戏的设计思路
			
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
 - Apache Lucene(全文检索引擎)—创建索引
			
目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 本项目Demo已上传GitHub,欢迎大家fork下载学习:https://gith ...
 - Hui之Hui.js 官方文档
			
基础 // 判断值是否是指定数据类型 var result = hui.isTargetType("百签软件", "string"); //=>true ...
 - SharePoint 2013 状态机工作流之日常报销示例
			
简单介绍下状态机工作流,状态机工作流提供了一系列的状态.工作流从初始状态开始,到终止状态结束.两个状态之间定义行为进行过渡.通常情况下,状态机工作流对事件作出反应,事件的发生将会使状态发生改变. 1. ...
 - Oracle报错,ORA-28001: 口令已经失效[转]
			
Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录. Oracle公司是为了数据库的安全性默认在11G中引入了这个默认功能,但是这个 ...
 - [C#6] 2-nameof 运算符
			
0. 目录 C#6 新增特性目录 1. 老版本的代码 using System; namespace csharp6 { internal class Program { private static ...
 - ORACLE使用GV_$TEMP_SPACE_HEADER统计临时表空使用情况不准确的问题
			
以前写了一篇ORACLE临时表空间总结的文章, 里面介绍了几个查看临时表空间使用情况的脚本,其中一个脚本如下所示: SELECT TU.TABLESPACE_NAME ...