Jenkins mesosphere / jenkins-dind:0.3.1和代理

所有,我使用DCOS和相关的jenkins。 我的公司正在代理任何外部stream量。 jenkins运行正常,可以访问内部networking以及任何外部networking。 如果我设置HTTP代理,我可以find工作来curl互联网上的URL。 我可以将这个代理传递给mesosphere / jenkins-dind:0.3.1容器作为环境variables,但是我不能在docker模式下运行docker pull或者docker运行。

我设法在其中一个代理框上重现了这个问题。

sudodocker运行你好世界

你好,来自Docker!

这工作! 然而,sudodocker运行 – 特权mesosphere / jenkins-dind:0.3.1 wrapper.sh“docker运行hello世界”将失败,docker:拉图像时出错:获取https://index.docker.io/v1/ repositories / library / hello-world / images :x509:证书适用于FG3K6C3A13800607,而不是index.docker.io。

这通常显示docker守护进程没有访问代理。

你知道如何确保dind正在访问代理设置吗? 安托万

如果Docker守护进程对您的registry未经validation,这个错误也会显现出来,但是看起来像是在针对公共映像运行,所以这可能不是问题所在。

您可以尝试为Jenkins节点创build一个新的参数(有关如何设置名为DOCKER_EXTRA_OPTS的环境variables的示例,请参阅此处的说明: https : DOCKER_EXTRA_OPTS configuration/ )。

在这种情况下,我们希望执行相同的操作(使用Name env ),但将Value的内容设置为HTTP_PROXY=http://proxy.example.com:80/