我有一个包含以下内容的Dockerfile:
FROM openjdk:9
WORKDIR /project
ADD . /project
EXPOSE 5005我的码头-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"当我做docker时,我看到一条消息“监听地址为5005的传输dt_socket”。但是当我试图连接到jdb或Idea时,我得到了"java.io.IOException:握手失败-连接提前关闭“。
如果我将openjdk:9改为openjdk:8,一切都很好。但是,我的项目需要Java 9。
发布于 2017-12-12 12:13:31
在Java 9中,JDWP套接字连接器默认只接受本地连接。请参阅:http://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8041435
因此,要启用来自外部的调试连接,请将*:<port>指定为地址:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
https://stackoverflow.com/questions/46662125
复制相似问题