debugging 远程调试ec2 java示例

ozxc1zmp  于 2022-11-14  发布在  Java
关注(0)|答案(1)|浏览(168)

我的应用程序在EC2中运行,作为java应用程序的一个docker。我公开了5005端口进行调试,它在本地工作得很好。但是在EC2环境中,当尝试使用Intelij连接时,我得到了java.net.ConnectException "Connection refused (Connection refused)"

  • 安全组设置为打开端口80、5005、22
  • Docker正在暴露端口80和5005
  • 应用程序正在使用java参数-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=5005,suspend=n运行

我错过了什么吗?

qqrboqgw

qqrboqgw1#

对于那些仍然感兴趣的人,这里有一种方法,如何使用docker在EC2上创建远程JVM调试
1.在yaml文件上添加“port”属性。

ports:
     - "5005:5005"

1.对于dockerfile,使用以下命令运行Jar

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005

1.在EC2的入站角色上:

Cutsom TCP => 5005 => Your IP
  • 在Intellij中创建远程JVM调试
  • 在host中输入主机ip
  • 连接埠:5005
  • 选择JDK 9或更高版本,因为地址应该与 *:5005
  • 单击“Debug(调试)”按钮,它应该可以正常工作

相关问题