问题描述
我有一个容器化的 WebLogic 服务器,它运行在我的 docker 主机上,映射了三个端口:5556、6001、7001。我已经部署了我的 Java 产品,一切都成功了。我还根据 WebLogic 上的这篇文章在 8453 上分配了一个调试端口:
在 Intellij IDE 中,我在“编辑配置...”中的本地主机端口 8453 上配置了我的调试端口。在这里,一切似乎都非常好。但是当我要调试时,连接失败了。“无法打开调试器端口(本地主机:8453):java.net.connectException“连接被拒绝:连接”
我对 WebLogic 服务器有点天真。这可能是因为不知何故给定的端口未映射导致此错误。如果有人以前有过这样的经历,请帮助我。解决方法
环境变量 JAVA_OPTIONS
通常设置在 startWeblogic.sh
上。使用 dockerized weblogic 时,需要使用调试选项和地址设置相同的变量。
例如,您可以在 Dockerfile
上设置变量。
以下内容会将 Weblogic 应用程序的调试端口设置为 4000
:
ENV JAVA_OPTIONS $JAVA_OPTIONS -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n
这个端口也需要暴露。
例如在 docker-compose.yml
上:
ports:
- 4000:4000
在 IntelliJ IDEA 上,握手成功,无需使用容器的 IP 地址。