我有一个基于 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
上启动服务器吗?
提前致谢
您可以在
$KARAF_HOME/etc/org.apache.karaf.management.cfg
文件中进行配置。
问候,
要在 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 容器中设置环境变量。