node.js - 为什么 NPM 可以在本地运行,但不能在 Docker 上运行?

标签 node.js docker npm proxy

我使用的是 Windows 10

我正在开发一个新项目,无法在 docker-compose up -d 上使用 npm installnpmaudit fix ,所以它卡在第一个 npm install

NPM 正在本地使用我配置的代理工作:

npm 配置设置代理 http://proxy.company.com:8080

npm 配置集 https-proxy http://proxy.company.com:8080

我尝试配置 docker 代理、windows 代理和 npm 代理,并手动安装 npm 文件夹,它可以在没有 docker 的情况下工作

我在 Linux 和其他计算机上也尝试过,但也不起作用

Node 版本是:v10.15.0

Npm 版本是:6.9.0

npm ERR! code ECONNREFUSED
npm ERR! errno ECONNREFUSED
npm ERR! FetchError: request to https://registry.npmjs.org/cors failed, reason: connect ECONNREFUSED ip.ip.ip.ip:443
npm ERR!     at ClientRequest.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-fetch-npm/src/index.js:68:14)
npm ERR!     at ClientRequest.emit (events.js:196:13)
...

我可以提供完整的错误

我认为这是一个代理问题,但我不明白为什么以及如何尝试其他方法

在另一个网络上我可以docker-compose up -d没有任何问题

E:我尝试过但没有结果:

ENV HTTP_PROXY“http://proxy.company.com:8080”

并配置.docker/config.json

最佳答案

http://proxy.company.com:8080

您的 docker 网络无法解析。您应该使用与主机相同的网络接口(interface)来运行 docker 通过将 --network host 传递给 docker run 命令

关于node.js - 为什么 NPM 可以在本地运行,但不能在 Docker 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56240003/

相关文章:

node.js - NodeJS执行问题

node.js - Passport js反序列化用户,变量未定义

node.js - 如果在 lambda Node 场景中捕获错误,则继续 Promise.all 循环

Powershell远程访问docker上的nanoserver

azure - 发送到 Azure Blob 容器时内容类型被覆盖

javascript - 在 Node 模块中使用 async - 如何返回结果?

jquery - 我可以在 node.js 中使用cheerio 包加载本地 html 文件吗?

amazon-web-services - TeamCity:将 docker 镜像推送到 AWS ECR

Docker - 服务的别名 DNS 条目 (CNAME)

node.js - 网络套接字 : cannot detect client connection on internet disconnect