NPM安装在Docker容器内部失败,但在主机w /企业代理上运行

Col*_*tes 5 proxy node.js npm docker npm-install

我正在将一些node.js服务部署到docker容器中的公司系统.我的这些服务的Dockerfiles是非常基本的,除了我设置代理环境变量:

FROM node:4.2.3

ADD . /src

WORKDIR /src

ENV http_proxy http://proxy.gc.corp.com:8888/  
ENV https_proxy http://proxy.gc.corp.com:8888/  
ENV HTTP_PROXY http://proxy.gc.corp.com:8888/  
ENV HTTPS_PROXY http://proxy.gc.corp.com:8888/  


RUN npm install --production

EXPOSE 3000

CMD npm start >> /log/eva_web_api
Run Code Online (Sandbox Code Playgroud)

当我从这个文件构建我的图像时,我从NPM收到以下错误:

上次尝试时出错:错误:无法建立隧道套接字,原因= getaddrinfo ENOTFOUND proxy.gc.corp.com proxy.gc.corp.com:8888

但是,当我在主机(安装了Node.js以及Docker)上执行NPM安装时,NPM安装正常运行并完成,没有任何问题.一个主机我有我在Dockerfile中定义的相同ENV变量.

任何人都对这里发生的事情有任何想法,我的网络团队负责代理,但他们还没有任何帮助.

Col*_*tes 0

这是与 DNS 相关的,在这里找到了我的解决方案:

Docker - 在公司网络上构建映像期间网络调用失败

太长了;必须使用我的 DNS IP 配置 DOCKER_OPTS。