gpt4 book ai didi

node.js - docker 中的 Node 检查器不加载源

转载 作者:太空宇宙 更新时间:2023-11-04 02:16:24 28 4
gpt4 key购买 nike

我有两个具有不同图像的 Docker 容器。这是“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

第一个容器正在运行带有调试选项的服务器应用程序:

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

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

第二个容器正在运行node-inspector

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

默认在端口 5858 上连接到调试器,并在端口 8080 上监听 Chrome 中的 Web 检查器。

问题是当我访问 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

最佳答案

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

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

  1. 对两个容器使用主机网络
    • 在这种情况下,您配置的端口转发不再是必要的
  2. 仅将主机网络用于 Node 检查器容器
    • 在这种情况下,您仍然需要将端口 5858 映射到主机,但不再需要 Node 检查器上的端口 8080

关于node.js - docker 中的 Node 检查器不加载源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35557115/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com