好吧,我用的是dcos和相关的jenkins。我的公司有代理任何对外交通。Jenkins运行正常,可以访问内部网络以及任何外部网络。如果我设置了http代理,我就可以让作业在internet上 curl 一个url。我可以把这个代理传给中间层/Jenkins-dind:0.3.1 container 但是,作为环境变量,我不能在docker模式下运行docker pull或docker run。
我设法在一个探员信箱里重现了这个问题。
sudo docker运行hello world
Docker 你好!
这个管用!!然而,sudo docker运行-特权中层/Jenkins-dind:0.3.1 wrapper.sh “docker run hello world”在拉取image:get时将失败,返回docker:errorhttps://index.docker.io/v1/repositories/library/hello-world/images:x509:证书对fg3k6c3a13800607有效,而不是index.docker.io。
这通常表明docker守护进程没有访问代理的权限。
您知道如何确保dind能够访问代理设置吗?安托万
1条答案
按热度按时间2uluyalo1#
如果docker守护进程未针对注册表进行身份验证,但看起来您是针对公共映像运行的,则此错误也会显示出来,因此这不太可能是问题所在。
您可以尝试为jenkins节点创建一个新参数(有关如何设置名为
DOCKER_EXTRA_OPTS
: https://docs.mesosphere.com/1.8/usage/service-guides/jenkins/advanced-configuration/).在本例中,我们也要这样做(使用name)
env
)但是当值的内容设置为HTTP_PROXY=http://proxy.example.com:80/
.