java - 调试由 docker 容器内的脚本调用的 java 应用程序

标签 java docker sip remote-debugging

在我们公司,我们使用asterisk构建我们自己的语音机器人。 Asterisk 对传入调用运行脚本。该脚本调用类似于 java -cp ./path/to/jarfile.jar 的内容。 Asterisk 本身运行在 Docker 容器中:CMD asterisk -f。 java 应用程序将 SIP channel 连接到 Microsoft BotFramework,即将文本从机器人发送到文本转语音服务,反之亦然。

现在我想使用 Eclipse 或 IntelliJ 甚至 VS Code 来调试 java 应用程序。我无法让它发挥作用。我关注了this示例是有效的,但我无法将其应用到我们的案例中。

希望有人能帮忙。提前致谢

最佳答案

首先,您必须在 Docker 文件或 Docker-Compose 上公开应用程序的调试端口

示例:

ports:
- "9008:9009"

第二个示例说明您必须在 IDE 上配置远程连接类型,例如 Intellij 中的示例: enter image description here

在本例中,我公开了 9008,因此要以 localhost 身份连接,我应该在 IDE 的调试配置中使用 localhost:9008。

然后您必须使用 IDE 的 Debug模式进行连接。

enter image description here

关于java - 调试由 docker 容器内的脚本调用的 java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58732766/

相关文章:

ios - 具有后台模式和来电通知的 SIP 应用程序

Android 原生 SIP 客户端配置

java - 为什么 compilerArgs 只能在 fork 为真时设置?

java - 如何将 Mpesa Api 与 android 集成

mysql - Kamailio MySql 到 redis

docker nginx,退出代码 139

docker - Apache Oozie 可以运行 docker 容器吗?

java - Web 服务和解码异常

java - 带有数据库的Java桌面应用程序

docker - 在哪里可以查看 Docker 镜像的 Dockerfile?