【发布时间】:2018-05-12 02:27:06
【问题描述】:
我正在尝试在 docker 中远程调试 nodejs 9。
> testnodedockerproj@0.0.0 debug /home/deb
> node --inspect=9229 ./bin/www
Debugger listening on ws://127.0.0.1:9229/75db828f-4b4b-491c-99d1-0eb60a82e45c
For help see https://nodejs.org/en/docs/inspector
GET /robots.txt 404 1752.471 ms - 905
GET / 304 1838.729 ms - -
GET /stylesheets/style.css 304 114.501 ms - -
但我无法连接到 ws://127.0.0.1:9229/75db828f-4b4b-491c-99d1-0eb60a82e45c。
docker compose 文件有这个端口配置:
ports:
- "3100:3000"
- "9339:9229"
我可以从 docker 容器内连接到节点调试 url。但我无法从我的主机系统访问它。 预期的端点应该是 ws://127.0.0.1:9339/75db828f-4b4b-491c-99d1-0eb60a82e45c 并且无法访问。
是否有任何特定的 docker 配置可以连接到 Web 套接字?
如何到达此节点调试端点?
@更新
我已成功连接到调试端点。
节点调试命令应该是:
node --inspect=[::]:9229 ./bin/www
通过这种方式我可以连接到端口 9339 并附加一个调试器。
【问题讨论】:
-
澄清一下:您正在尝试远程并在您的主机上使用
ws://127.0.0.1:9339这个符号? -
是的,Node 位于我桌面上的 Docker 中。所以,我希望 localhost 应该这样做。
-
所以它不是远程的,它只是在你的 docker 容器中。你肯定需要使用这个端口
9339,并且应该能够在这里连接ws://127.0.0.1:9339。 -
是的,我应该能够,但我不能。 127.0.0.1:3100 可访问,但 ws://127.0.0.1:9339 不可访问。
-
你得到了什么确切的错误?
标签: node.js docker remote-debugging