首页 > 解决方案 > 为什么 NPM 在本地工作,但不在 Docker 上?

问题描述

我在 Windows 10 上

我在一个新项目上,我不能使用npm installand npm audit fixon docker-compose up -d,所以它卡在第一个 npm install 上

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

npm config set proxy http://proxy.company.com:8080

npm config set https-proxy http://proxy.company.com:8080

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

我也在 Linux 和其他计算机上尝试过,但它也无法正常工作

节点版本为: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

标签: node.jsdockernpmproxy

解决方案


http://proxy.company.com:8080

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


推荐阅读