jenkinsdocker推谷歌云失败,例外

我正在通过jenkins构build一个docker镜像,并且想要使用jenkins插件(docker-build-step,Google Container Registry Auth Plugin,Google OAuth Credentials插件)将它部署到Google云registry中,使用以下说明: https:// wiki.jenkins-ci.org/display/JENKINS/Google+Container+Registry+Auth+Plugin

我在GCE上有一个VM实例,我安装了jenkins和docker。 构build工作正常,但是当我试图将其推送到registry时失败:

成功构buildc2ddc81c66d1

 [Docker] INFO:成功创build镜像eu.gcr.io/$project-id/base
 [Docker] INFO:推送图片eu.gcr.io/$project-id/base
错误:生成步骤失败,出现exception
 javax.ws.rs.ProcessingException:org.apache.http.NoHttpResponseException:127.0.0.1:2375无法响应
    在org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:513)
    在org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:246)
    在org.glassfish.jersey.client.JerseyInvocation $ 1.call(JerseyInvocation.java:667)
    在org.glassfish.jersey.client.JerseyInvocation $ 1.call(JerseyInvocation.java:664)
    在org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    在org.glassfish.jersey.internal.Errors.process(Errors.java:297)

但是当我尝试通过SSH推它,它的工作原理:

 bash-4.2 $ whoami
jenkins
 bash-4.2 $ gcloud docker push eu.gcr.io/$project-id/base
推是指一个仓库[eu.gcr.io/$project-id/base]
 41772e41ab05:图层已经存在 
 a03f60753e4e:推送[=========>] 9.223 MB / 47.44 MB

我相信,如果这是从谷歌VM的某种范围,我不应该能够通过SSH做到这一点。 难道是jenkins用户环境variables?

任何人都有一个类似的情况下工作configuration? 任何知道jenkins的人都知道什么样的configuration可能造成这种情况?

此外,在使用http://127.0.0.1:2375作为docker url之前,我有unix:///var/run/docker.sock,并且使用该configuration,而不是“127.0.0.1:2375 no HttpResponseExpcetion”在日志上有“localhost:80 no HttpResponseExpcetion”,所以使用套接字也不是解决scheme。

问候,JS

该错误与Jenkins和Googleregistry之间的连接失败有关。 我假设networking连接没有问题,因为它调用本地主机。

[Docker] INFO: Sucessfully created image eu.gcr.io/$project-id/base [Docker] INFO: Pushing image eu.gcr.io/$project-id/base ERROR: Build step failed with exception javax.ws.rs.ProcessingException: org.apache.http.NoHttpResponseException: 127.0.0.1:2375 failed to respond 

所以,这给我们留下了一个应用问题。 检查你的Google oAuth凭证 ,它可能是一个未经授权的访问exception抛出 ,你将不得不创build凭证。

无论如何,请检查您的日志并提升日志级别,以查看是否有任何重要信息未被注意到。