Vagrant で CoreOS を実行しています。Vagrant プライベート ネットワークの IP は 192.168.111.1 です。CoreOS の内部には、Tomcat 8.0.32 を含む Docker コンテナーがあります。ほとんどすべてが正常に機能します(アプリの展開など)。デバッグだけでは機能しません。Tomcat は 8080 ポートにマップされ、JPDA ポートは 8000 である必要があります。
事実
Tomcat JPDA は以下で構成されます。
JDPA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
コマンドから始まりcatalina.sh jpda start
ます。で実行したときのコンソールの出力docker-compose
は次のとおりです。
tomcat | Listening for transport dt_socket at address: 8000
コンテナー情報から、ポートは次のようにマップされていると想定しています。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dcae1e0148f8 tomcat "/run.sh" 8 minutes ago Up 8 minutes 0.0.0.0:8000->8000/tcp, 0.0.0.0:8080->8080/tcp tomcat
私の docker イメージは、このDockerfileに基づいています。
問題
リモート デバッグ構成 (下のスクリーンショット) を実行しようとすると、エラーが発生しますError running Debug: Unable to open debugger port (192.168.111.1:8000): java.net.ConnectException "Connection refused"
。さまざまな構成を変更することからすべてを試しましたが、うまくいきません。何か不足していますか?