Tomcat

docker tomcat 與 jmx

  • May 29, 2015

我正在嘗試創建一個啟動了 tomcat 和 JMX 的 docker 映像。

所以我複製了這個 tomcat docker 鏡像https://github.com/tutumcloud/tutum-docker-tomcat。我暴露了 1099 埠並編輯了執行腳本如下:

#!/bin/bash

if [ ! -f /.tomcat_admin_created ]; then
   /create_tomcat_admin_user.sh
fi

export CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 
exec ${CATALINA_HOME}/bin/catalina.sh run

目前我並沒有真正考慮安全性,我只是想讓 JMX 可用。

接下來建構圖像docker build -t <name>並執行它docker run -d -p 8080:8080 -p 1099:1099 <name>

容器正確啟動和埠轉發:0.0.0.0:1099->1099/tcp, 0.0.0.0:8080->8080/tcp

並且埠是開放的telnet 192.168.59.103 1099。我使用192.168.59.103是因為我在使用 boot2docker 的 macos 上,並且192.168.59.103boot2docker ip.

但是當我嘗試通過 jconsole 連接到 JMX 時,我得到了超時..

我找到了解決方案..

我必須聲明-Djava.rmi.server.hostname=192.168.59.103

引用自:https://serverfault.com/questions/608071