远程调试docker容器内的运行过程

时间:2016-01-02 16:02:18

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

我在Docker容器中运行node.js应用程序。我需要使用Intellij Ultimate 15调试此应用程序。

demoapp:
  build: .
  command: 'bash -c "npm install && npm run debug"'
  ports:
    - "8989:8989"
  environment:
      VIRTUAL_HOST: 'demoapp.docker'
      VIRTUAL_PORT: 8989

debug

中的package.json脚本
"debug": "(node-inspector --web-port=8989  app.js &) && node --debug app.js"

IDE中的配置

enter image description here

IDE以Frame is not available回复。我想它无法连接。

我做错了吗?

此外,我可以使用Chrome进行调试。如果我访问它连接的demoapp.docker:8989,我就可以开始调试了。

1 个答案:

答案 0 :(得分:2)

您应该通过IntelliJ调试器连接到调试端口,而不是连接到Web端口。因此,您应该在节点运行时上指定它(使用--debug选项)并将其公开给docker主机,之后您就可以连接到它。

JetBrains文档中的更多信息:https://www.jetbrains.com/idea/help/running-and-debugging-node-js.html#remote_debugging