【发布时间】:2017-11-16 08:48:42
【问题描述】:
我也在 Docker 板上问过这个问题,但没有得到任何回应。如果有人知道该问题的解决方案,那么在 Docker 板上发布答案也可能会有所帮助。 Here 是问题的链接。
我的任务是从我开发的 Tomcat Web 应用程序创建 Docker 映像。我已经在我的 Windows 7 机器上设置了 Docker,我想我几乎可以正常工作了。经过几次配置尝试,我设法连接到 docker 存储库。为了让它工作,我已经将我从 PAC 文件中提取的代理服务器(稍后会详细介绍)添加到 config.json 文件中:
我的理解是,要从我的 Web 应用程序创建映像,我需要使用 Docker 终端访问默认的 VM 主机文件系统以获取打包的 war 文件和 Dockerfile 以创建映像。为此,终端向 Docker 默认 VM 发送 HTTP Post 请求,然后创建 Docker 映像。
这是我收到错误消息的地方。显然,当向默认 VM (168.192.99.100) 的 IP 发出 HTTP 请求时,Docker 终端以通过公司代理路由请求的方式发送它,从而导致错误:
我以为我会解决这个问题,因为我将默认 VM IP 地址添加到 config.json 文件中的 NP_PROXY 变量。这似乎没有达到预期的效果。如果我使用 curl 对默认 VM 执行 HTTP Get,我会遇到与浏览 Internet 并遇到被防火墙阻止的站点时相同的连接错误。
作为相关说明,我还在 Windows 中直接设置了 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY 环境变量。
我与我们的一位网络人员交谈过,他告诉我 NO_PROXY 变量对 HTTP 请求没有影响,因为公司网络使用 PAC 文件进行代理配置。显然 Docker 终端使用 PAC 文件中的代理配置来路由其请求,因此 NO_PROXY 设置对请求没有影响。
他的建议是想办法在没有代理配置的情况下启动 Docker 终端。我查看了负责启动 Docker 终端的 start.sh 脚本,并试图确定如何实现,但没有成功。
以前有没有人遇到过这种情况并且知道如何解决这个问题?
感谢任何帮助。
【问题讨论】:
标签: proxy docker-machine