在Docker容器中远程debugging运行进程
我在一个Docker
容器中运行一个node.js应用程序。 我需要用Intellij Ultimate 15
debugging这个应用程序。
demoapp: build: . command: 'bash -c "npm install && npm run debug"' ports: - "8989:8989" environment: VIRTUAL_HOST: 'demoapp.docker' VIRTUAL_PORT: 8989
来自package.json
的debug
脚本
"debug": "(node-inspector --web-port=8989 app.js &) && node --debug app.js"
并在IDE中进行configuration
IDE响应Frame is not available
。 我想它不能连接。
难道我做错了什么?
而且,我可以使用Chrome
进行debugging。 如果我访问demoapp.docker:8989
它连接,我可以开始debugging。
您应该通过IntelliJdebugging器连接到debugging端口,而不是连接到Web端口。 所以你应该在节点运行时指定它(带--debug
选项),并将它暴露给docker主机,然后你就可以连接到它。
JetBrains文档中的更多信息: https : //www.jetbrains.com/idea/help/running-and-debugging-node-js.html#remote_debugging