在 Docker 容器中调试 Apache Karaf 4

问题描述 投票:0回答:2

我有一个基于 karaf 的应用程序,在 docker 容器内运行。 在 karaf 3 中,当我使用

debug
标志启动应用程序时,调试服务器正在侦听:

tcp        0      0 0.0.0.0:5005            0.0.0.0:*               LISTEN      1/java

我转移到 karaf 4 后,它正在收听:

tcp        0      0 127.0.0.1:5005          0.0.0.0:*               LISTEN      55/java

因为服务器不会侦听来自我的 IDE 的连接。

有人知道如何配置

karaf
以在
0.0.0.0
而不是
127.0.0.1
上启动服务器吗?

提前致谢

java docker xdebug apache-karaf
2个回答
0
投票

您可以在

$KARAF_HOME/etc/org.apache.karaf.management.cfg
文件中进行配置。

问候,


0
投票

要在 docker 中调试 Karaf >= 4,您必须在端口前加上

*:
,例如
*:5005
或任何您想要的调试端口。这可以通过在启动 karaf 之前导出环境变量 JAVA_DEBUG_PORT 来定义。你可以这样做,例如在执行 karaf run:
 之前,在 karaf docker 工作区的 
entrypoint.sh

export KARAF_DEBUG=true
export JAVA_DEBUG_PORT="*:5005"
/opt/karaf/bin/karaf run

或者使用任何常用方法在 docker 容器中设置环境变量

© www.soinside.com 2019 - 2024. All rights reserved.