【发布时间】:2015-07-24 01:00:30
【问题描述】:
我在我的主机服务器(Ubuntu 14.04)上建立了一个节点项目,我可以提取我的 repo 并在主机上执行 NPM 安装而不会出现问题。我的 package.json 包含一些私有仓库,我们在其中使用 https 来让 npm 拉入我们的私有依赖项。
在我们的 package.json 中的“依赖项”中也是如此:
"local_utils": "git+http://12345:x-oauth-basic@github.com/ourprivateteam/local_utils.git",
我正在尝试从 docker 容器中运行相同的应用程序,但是在构建我们的 docker 映像时,npm install 在我们的私有 repo 调用上失败。它抛出一个错误:
Failed to connect to github.com port 443: Connection timed out
NPM 中的正常依赖项都可以在容器内正常工作。是什么导致我们的私人仓库出错?
【问题讨论】:
-
首先猜测是您的服务器阻止了对 github 的出站访问。
-
是的,你猜对了,我将我的 ENV http_proxy 添加到了我的 Dockerfile 中并且它工作了。我已经在容器中配置了 NPM 以使用代理,但我没有意识到我也需要为容器设置它。