在 IntelliJ IDEA 的 Docker 容器中远程调试 Java 9
2022-09-02 00:24:05
我有一个包含此内容的 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"
当我做 docker-composer 时,我看到一条消息“正在侦听传输dt_socket地址:5005”。但是当我尝试与jdb或Idea连接时,我得到“java.io.IOException:握手失败 - 连接预先关闭”。
如果我将 openjdk:9 更改为 openjdk:8,一切正常。但是,我的项目需要Java 9。