在企业网络上构建映像期间网络调用失败

我在公司网络上构建Docker映像时遇到问题。我刚刚开始使用Docker,因此我有一个用于hello-world类型应用程序的以下Dockerfile:


# DOCKER-VERSION 0.3.4

FROM    centos:6.4

# Enable EPEL for Node.js

RUN     rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

# Install Node.js and npm

RUN     yum install -y npm

# Bundle app source

ADD . /src

# Install app dependencies

RUN cd /src; npm install

EXPOSE  8080

CMD ["node", "/src/index.js"]

当我在家中通过自己的无线网络在笔记本电脑上构建笔记本电脑时,这种方法效果很好。它拉下必要的依赖关系并正确构建映像。


但是,当我在公司网络上工作时,尝试从download.fedoraproject.org拉下RPM时,此同一个Docker构建失败,并显示以下错误消息:


第2步:运行rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm --->在e0c26afe9ed5 curl中运行:(5)无法t解决代理“ some.proxy.address”错误:跳过http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm-传输失败


在公司网络上,我可以从笔记本电脑访问该URL。但是,一旦Docker尝试构建容器,突然之间它根本无法解决。对于多种外部资源(apt-get等),此行为是相同的:它们都可以在公司网络上的笔记本电脑上很好地解决,但是Docker无法解决它们。


我没有网络专业知识来弄清楚这里发生了什么。有谁知道为什么在构建Docker容器时会发生这种奇怪的行为?


临摹微笑
浏览 405回答 3
3回答

慕姐4208626

我建议更改Docker守护程序的DNS设置。您可以通过在/etc/docker/daemon.json中创建守护程序配置文件来设置docker守护程序的默认选项。根据您的主机设置DNS服务器,例如我的DNS服务器是10.0.0.2:{"dns": ["10.0.0.2", "8.8.8.8"] }然后,您只需要重启docker服务:sudo service docker restart
打开App,查看更多内容
随时随地看视频慕课网APP