无法从WebStorm调试远程docker node.js应用程序

时间:2019-02-05 11:34:13

标签: node.js docker intellij-idea webstorm remote-debugging

我正在尝试将远程调试器附加到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"

如果有人进行了设置,您能否建议我做错了什么?

2 个答案:

答案 0 :(得分:1)

您需要绑定到容器中的所有接口

--inspect=0.0.0.0

--inspect-brk=0.0.0.0

Command-line options

但这在生产环境中很危险 Exposing the debug port publicly is unsafe

答案 1 :(得分:1)

当前不支持将Docker Compose用作Node.js远程解释器,请参见WEB-23404。 因此,您需要使用Attach to Node.js/Chrome运行配置来附加到在docker中运行的node.js应用:

enter image description here

但是,由于默认情况下节点绑定到本地主机,因此无法从外部访问,因此您需要将npm脚本更改为"debug":"node --inspect-brk=0.0.0.0:9229",如 @ ponury-kostek 中所述回答