• 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:
       - 9911:8080
       - 9912:8787
       - 44445:44445
      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=44445
       - 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

    完成

  • 相关阅读:
    (SenchaTouch+PhoneGap)开发笔记(2)开发环境搭建二
    Sql语句复习
    冒泡排序
    微信开发订阅号(ASP.NET MVC4+jquery mobile+AppHarbor发布)
    Ext4 ComboBox组件使用
    ExtJs 进度条(轮询)
    如何替换掉.net toolStrip控件溢出按钮背景图
    easyui-menu 宽度自适应
    Python之入门学习
    servlet和filter的区别
  • 原文地址:https://www.cnblogs.com/txwsqk/p/6254729.html
Copyright © 2020-2023  润新知