远程调试ec2 java实例

Mac*_*cki 5 java debugging amazon-ec2

我的应用程序作为带有 Java 应用程序的 docker 在 EC2 中运行。我正在公开 5005 端口进行调试,并且在本地运行良好。但是,在 EC2 环境中,我 java.net.ConnectException "Connection refused (Connection refused)" 尝试使用 Intelij 进行连接。

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

我错过了什么吗?

Ron*_*ani 1

对于那些仍然感兴趣的人,这里是一种如何使用 docker 在 EC2 上创建远程 JVM 调试的方法

  1. 在 yaml 文件中添加“port”属性。
 ports:
     - "5005:5005"
Run Code Online (Sandbox Code Playgroud)
  1. 使用以下命令在 dockerfile 中运行 Jar
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
Run Code Online (Sandbox Code Playgroud)
  1. 关于 EC2 上的入站角色:
Cutsom TCP => 5005 => Your IP
Run Code Online (Sandbox Code Playgroud)
  1. 在Intellij中创建Remote JVM debug
    • 在主机中输入主机ip
    • 端口:5005
    • 选择JDK 9或更高版本,地址应带有*:5005
  2. 单击“调试”按钮,它应该可以工作