首页 文章

docker中的节点检查器不加载源

提问于
浏览
1

我有两个不同图像的泊坞容器 . 这是“docker ps”命令的部分输出:

$user: docker ps
CONTAINER ID    IMAGE          PORTS
9c8ff81215d4    node:slim      0.0.0.0:5858->5858/tcp, 0.0.0.0:10101->10101/tcp
d85a0de91432    node-debug     0.0.0.0:8080->8080/tcp

The first container 正在运行带有调试选项的服务器应用程序:

$user: node --debug server.js
Debugger listening on port 5858
...

并使用调试器侦听端口5858,使用server.js应用程序侦听端口10101 .

The second container 正在运行node-inspector

$user: node-inspector
Node Inspector v0.12.6
Visit http://127.0.0.1:8080/?port=5858

默认情况下,在端口5858上连接到调试器,并在端口8080上侦听Chrome中的web-inspector .

The issue 是我访问http://127.0.0.1:8080/?port=5858时我看到检查员没有加载来源 .

在Chrome控制台中看到此错误:

Request with id = 10 failed. "ErrorNotConnected: Error: connect ECONNREFUSED 127.0.0.1:5858. Is node running with --debug port 5858?"

enter image description here

1 回答

  • 0

    这里的问题是节点检查器正在尝试连接到localhost / 127.0.0.1,即本地容器,而不是主机的本地容器 . 在桥接网络(默认)中运行时,每个容器都在其自己的IP上 .

    您可以使用以下任一选项快速解决此问题:

    • 为两个容器使用主机网络

    • 在这种情况下,不再需要您配置的端口转发

    • 仅为节点检查器容器使用主机网络

    • 在这种情况下,您仍需要将端口5858映射到主机,但不再需要节点检查器上的端口8080

相关问题