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

Gil*_*les 2 proxy node.js 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)
...

Run Code Online (Sandbox Code Playgroud)

我可以提供完整的错误

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

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

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

ENV HTTP_PROXY "http://proxy.company.com:8080"

并配置.docker/config.json

yar*_*rin 5

http://proxy.company.com:8080
Run Code Online (Sandbox Code Playgroud)

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