gpt4 book ai didi

javascript - 从 Docker 内部调试 Node.js 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 03:25:12 25 4
gpt4 key购买 nike

在调试 Node.js 应用程序时,我希望命令 node index.js --inspect=5858 使我的 index.js 文件在端口 5858 上可调试。

当我在 Docker 之外的主机上运行应用程序时,我可以在 Chrome 开发工具中调试该应用程序。我在 Docker 内部做了同样的事情,Chrome 开发工具无法访问端口 5858 上的调试器。

可以看到,5858端口暴露给上位机进行调试:

version: '2'
services:
server:
build: .
command: node index.js --inspect=5858
volumes:
- .:/app
ports:
- "8000:8000"
- "5858:5858"
environment:
- NODE_ENV = "development"

我已在 Chrome 开发工具中指定 localhost:5858127.0.0.1:5858 网络端点,但开发工具仍然不会按照建议自动连接到它们。

这似乎是我的 Docker 设置的问题,尽管如您所见,我已将端口暴露给主机。可能是什么问题?谢谢。

最佳答案

问题是,当您在容器内运行它时,它默认只监听本地主机。所以你有两个选择

使用主机网络

network_mode: host 添加到您的服务并删除端口映射。这不是一个理想的事情

确保nodejs监听每个IP

改变

命令:node index.js --inspect=5858

命令:node --inspect=0.0.0.0:5858 index.js

关于javascript - 从 Docker 内部调试 Node.js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45596119/

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