Jenkins mesosphere / jenkins-dind:0.3.1和代理

时间:2016-12-04 16:00:01

标签: jenkins docker proxy mesos dcos

全部, 我正在使用DCOS和相关的Jenkins。 我的公司正在为任何外部流量提供代理服务。 Jenkins运行正常,可以访问内部网络以及任何外部网络。 如果我设置HTTP代理,我可以在互联网上找到卷曲URL的工作。我可以将此代理传递给mesosphere / jenkins-dind:0.3.1容器作为环境变量但是,在docker模式下的docker中,我无法运行任何docker pull或docker run。

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

sudo docker run hello-world

来自Docker的你好!

这个有效!! 但是,sudo docker run --privileged mesosphere / jenkins-dind:0.3.1 wrapper.sh“docker run hello-world”将失败 docker:拉图片时出错:获取https://index.docker.io/v1/repositories/library/hello-world/images:x509:证书对FG3K6C3A13800607有效,而不是index.docker.io。

这通常表明docker守护程序无法访问代理。

您知道如何确保dind可以访问代理设置吗? 安托

1 个答案:

答案 0 :(得分:1)

如果Docker守护程序未针对您的注册表进行身份验证,但看起来您正在针对公共映像运行,则此错误也会自行显示,因此不太可能出现此问题。

您可以尝试为Jenkins节点创建一个新参数(有关如何设置名为DOCKER_EXTRA_OPTS的环境变量的示例,请参阅此处的说明:https://docs.mesosphere.com/1.8/usage/service-guides/jenkins/advanced-configuration/)。

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