我正在尝试将远程调试器附加到WebStorm中在docker中运行的node.js应用程序上,但是无法执行。我可以从IDE成功运行docker app,但无法对其进行调试。
我正在按照此指南设置远程解释器: https://www.jetbrains.com/help/webstorm/running-and-debugging-node-js.html#node_debugging_overview
我的docker-compose.yaml看起来像这样:
ports:
- 8080:8080
- 9229:9229
command: [ "npm", "run","debug" ]
package.json具有如下定义的调试脚本:
"debug":"node --inspect-brk"
如果有人进行了设置,您能否建议我做错了什么?
答案 0 :(得分:1)
您需要绑定到容器中的所有接口
--inspect=0.0.0.0
或
--inspect-brk=0.0.0.0
但这在生产环境中很危险 Exposing the debug port publicly is unsafe
答案 1 :(得分:1)
当前不支持将Docker Compose用作Node.js远程解释器,请参见WEB-23404。 因此,您需要使用Attach to Node.js/Chrome运行配置来附加到在docker中运行的node.js应用:
但是,由于默认情况下节点绑定到本地主机,因此无法从外部访问,因此您需要将npm脚本更改为"debug":"node --inspect-brk=0.0.0.0:9229"
,如 @ ponury-kostek 中所述回答