从IntelliJ IDEA远程debuggingDocker容器中的Java 9
我有一个Dockerfile与这个内容:
FROM openjdk:9 WORKDIR /project ADD . /project EXPOSE 5005
我的docker-compose.yml如下所示:
version: "3.2" services: some-project: build: . ports: - target: 5005 published: 5005 protocol: tcp mode: host command: "java '-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005' SomeClass"
当我做dockercomposer php时,我看到一条消息:“ 收听地址:5005处的dt_socket传输 ”。 但是当我尝试连接jdb或者Idea的时候,我得到了“ java.io.IOException:handshake failed – 连接在closures状态 ”。
一切正常,如果我改变openjdk:9到openjdk:8 。 但是,我的项目需要Java 9。
从Java 9开始,JDWP套接字连接器默认只接受本地连接。 请参阅: http : //www.oracle.com/technetwork/java/javase/9-note-3745703.html#JDK-8041435
因此,要启用外部的debugging连接,请指定*:<port>
作为地址:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
这不是一个答案只是一个确认。 其实这几乎是我们如何做到的:
-
ports: <someport>:5005
-
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
- 在IDE中用远程debugging器连接到
<someport>
。
- 如何debugging与docker运行的Elixir应用程序?
- Docker容器中的Java 9 Tomcat 9无法远程debugging
- 如何将Visual Studio 2015debugging器附加到以前部署的asp.net核心docker容器
- 如何用VS代码远程debuggingDocker容器中的Python代码
- .Net Core Clrdebugging器VSDBG在Windows Docker容器中连接到远程进程时暂停应用程序
- 如何用IntelliJdebugging在Docker中运行的应用程序?
- 通过远程debugging器连接Docker容器
- 使用XDebug从Docker Container进行远程debugging不起作用
- 在使用Docker-Compose时,使用JPDA远程debugging将不会通过eclipse连接到Tomcat