无法从最新的 (7.0.1) docker 映像调试 Keycloak

Fab*_* G. 1 java debugging docker keycloak

由于最新的 (7.0.1) docker 映像,无法将远程调试会话连接到容器内运行的 JVM。

我已经推出:

docker run \
  -p 9001:8080 \
  -p 9100:9100 \
  -e KEYCLOAK_USER=keycloak \
  -e KEYCLOAK_PASSWORD=password \
  jboss/keycloak:7.0.1 \
  -b 0.0.0.0 \
  --debug 9100
Run Code Online (Sandbox Code Playgroud)

然后尝试使用此 VSCode 配置连接调试会话:

{
"type": "java",
"name": "Debug (Attach) - Remote",
"request": "attach",
"hostName": "localhost",
"port": 9100
}
Run Code Online (Sandbox Code Playgroud)

并收到以下消息:

Failed to attach to remote debuggee VM
Reason:java.net.SocketException: Connection reset
Run Code Online (Sandbox Code Playgroud)

顺便说一句,同样适用于带有 6.0.1 和 7.0.0 docker 图像的 Keycloak。

我怀疑这是迁移到自 Keycloak 7.0.1 以来使用的新 ubi8-minimal 基础镜像的副作用

关于如何解决这个问题的任何线索?

问候,

Jan*_*raj 5

问题是 Java 更新:8(Keycloak 7.0.0)与 11(Keycloak 7.0.1)。默认情况下,Java 9+ 仅在 localhost 上侦听,因此您可以尝试侦听所有接口 ( *:9100):

docker run \
  -p 9001:8080 \
  -p 9100:9100 \
  -e KEYCLOAK_USER=keycloak \
  -e KEYCLOAK_PASSWORD=password \
  jboss/keycloak:7.0.1 \
  -b 0.0.0.0 \
  --debug *:9100
Run Code Online (Sandbox Code Playgroud)