Jenkins mesosphere/jenkins-dind :0. 3.1 和代理

标签 jenkins docker proxy mesos dcos

全部,
我正在使用 DCOS 和相关的 Jenkins。
我的公司有任何外部流量的代理。
Jenkins 运行正常,可以访问内部网络以及任何外部网络。
如果我设置了 HTTP 代理,我可以在 Internet 上找到 curl 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 可以访问代理设置吗?
安托万

最佳答案

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

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

在这种情况下,我们想要做同样的事情(使用 Name env )但将 Value 的内容设置为类似于 HTTP_PROXY=http://proxy.example.com:80/ .

关于Jenkins mesosphere/jenkins-dind :0. 3.1 和代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40960538/

相关文章:

tomcat - 当代理服务器关闭时,NGINX 反向代理返回 502 错误网关

java - 使用 SOAP UI 而不是 REST-assured 来自动化 CI 的 REST 服务是否有优势

jenkins - 从脚本化 Jenkinsfile 触发每小时构建

java - Selenium + Jenkins : Missing location header

docker - 来自守护程序 : service endpoint with name 的错误响应

python - 使用 sphinx 生成文档时如何禁用 ssl 验证? (在代理后面工作)

nginx - 使用 docker 和 nginx 仅在本地主机上限制 jenkins

amazon-web-services - 如何在Gitlab CI/CD中启动Docker容器

Docker:通过参数共享私钥

c#带代理的HttpClient