ホストでDockerコンテナを直接実行しているときに問題なく接続できます。DockerマシンのホストからDockerコンテナへJMXを接続するにはどうすればいいですか?
私のホストにはネットワーク192.168.1.0/24があり、ホストのIPアドレスは192.168.1.20です。 My DockerコンテナのIPアドレスは172.17.0.2です。 jconsoleから172.17.0.2:1099に接続すると動作します。
このサービスをDockerマシンにインストールすると、接続できません。
My DockerマシンのIPアドレスは192.168.99.100で、コンテナのIPアドレスは172.17.0.2ですが、jconsoleを使用して192.168.99.100:1099に接続すると動作しません。
それを繰り返すには:
192.168.1.20は--- 172.17.0.2:1099
192.168.1.20 ---(192.168.99.100 --- 172.17.0.2:1099)とに接続する作品私のホストからの192.168.99.100:1099は動作しません。
Dockerマシンのコンテナ化されたサービスには、Dockerマシンの外部IPアドレスを使用してアクセスすることができます。 ---
192.168.99.100(192.168.99.100:8080 --- 172.17.0.2:8080)
をしかし、私はそれだけでは動作しませんJMXを使用する場合:これは動作します。
Tomcatサービスです。
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.rmi.port=1099 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=IP address of Docker container
ドッカー・ジャーナル・ライブラリによって開始されています...それはあまり重要ではありませんが、「ドッカー・マシンssh」を実行すると「ドッカーps -a」でコンテナにこのポートバインディング/露出:ad6be9184855 company/tomcat:8.0.30 0.0.0.0:1099-> 1099/tcp、0.0.0.0:8000-> 8000/tcp、0.0.0.0:8009-> 8009/tcp、0.0.0.0:8080-> 8080/tcp – stewenson