2016-07-05 4 views
3

私はジェンキンにdocker、jenkins、docker-build-stepをインストールしました。ジェンキンスとドッカー:uriが指定されていません

私は、自分のリポジトリのDockerfileからイメージを構築するためのステップを設定しました。

それは私にこのメッセージをダンプ:

Started by BitBucket push by living_jordi 
Started by BitBucket push by living_jordi 
Building in workspace /var/lib/jenkins/workspace/Create Docker Images 
Cloning the remote Git repository 
Cloning repository [email protected]:livingdigital/docker-images.git 
> git init /var/lib/jenkins/workspace/Create Docker Images # timeout=10 
Fetching upstream changes from [email protected]:livingdigital/docker-images.git 
> git --version # timeout=10 
using GIT_SSH to set credentials BitBucket Private Key 
> git -c core.askpass=true fetch --tags --progress [email protected]:livingdigital/docker-images.git +refs/heads/*:refs/remotes/origin/* 
> git config remote.origin.url [email protected]:livingdigital/docker-images.git # timeout=10 
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 
> git config remote.origin.url [email protected]:livingdigital/docker-images.git # timeout=10 
Fetching upstream changes from [email protected]:livingdigital/docker-images.git 
using GIT_SSH to set credentials BitBucket Private Key 
> git -c core.askpass=true fetch --tags --progress [email protected]:livingdigital/docker-images.git +refs/heads/*:refs/remotes/origin/* 
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10 
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10 
Checking out Revision 058ecd67befe53fb5e4d18e8103b955a1daadbe3 (refs/remotes/origin/master) 
> git config core.sparsecheckout # timeout=10 
> git checkout -f 058ecd67befe53fb5e4d18e8103b955a1daadbe3 
First time build. Skipping changelog. 
ERROR: Build step failed with exception 
java.lang.NullPointerException: uri was not specified 
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:204) 
    at com.github.dockerjava.core.DockerClientConfig$DockerClientConfigBuilder.withUri(DockerClientConfig.java:406) 
    at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder$DescriptorImpl.createDockerClient(DockerBuilder.java:120) 
    at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder$DescriptorImpl.getDockerClient(DockerBuilder.java:204) 
    at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder.perform(DockerBuilder.java:68) 
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) 
    at hudson.model.Build$BuildExecution.build(Build.java:205) 
    at hudson.model.Build$BuildExecution.doRun(Build.java:162) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534) 
    at hudson.model.Run.execute(Run.java:1720) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:98) 
    at hudson.model.Executor.run(Executor.java:410) 
Build step 'Execute Docker command' marked build as failure 

任意のアイデアは?

EDIT これは、接続に関連する私のdocker.serviceの設定ファイルである:私はDocker Builder構成に行ってきたと私はきた

netstat -tupln | grep 4243 
tcp  0  0 127.0.0.1:4243   0.0.0.0:*    LISTEN 

ExecStart=/usr/bin/docker daemon -H fd:// -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock 

ドッカーがを聞いていますDocker URLhttp://127.0.0.1:4243に設定してください。

Something went wrong, cannot connect to tcp://127.0.0.1:4243, cause: null 

は、私はまた、このコマンドcurl -XGET http://localhost:4243/containers/jsonを使用してAPIをRESTへの要求を行ってきましたし、結果は右です::Test connectionは私に語った私がクリックしたときに、私はまた、ログ情報をコピーした

[ 
    { 
    "Id":"27e79f6a504c5c5359630a30bc5c222b68bafaede774bd5462ac410dc0d34c36", 
    "Names":[ 
     "/registry" 
    ], 
    "Image":"registry:2", 
    "ImageID":"sha256:8ff6a4aae6575dace6b603626816e74e71e93aa54dfb670daff0a7426706e58c", 
    "Command":"/bin/registry serve /etc/docker/registry/config.yml", 
    "Created":1467798010, 
    "Ports":[ 
     { 
     "IP":"0.0.0.0", 
     "PrivatePort":5000, 
     "PublicPort":5000, 
     "Type":"tcp" 
     } 
    ], 
    "Labels":{ 

    }, 
    "State":"restarting", 
    "Status":"Restarting (2) 10 hours ago", 
    "HostConfig":{ 
     "NetworkMode":"default" 
    }, 
    "NetworkSettings":{ 
     "Networks":{ 
     "bridge":{ 
      "IPAMConfig":null, 
      "Links":null, 
      "Aliases":null, 
      "NetworkID":"", 
      "EndpointID":"4c5a73c2ca7b9aeeff2384e0182e7b83a53cd1e7a9efd5fa416bb8c009b60568", 
      "Gateway":"172.17.0.1", 
      "IPAddress":"172.17.0.2", 
      "IPPrefixLen":16, 
      "IPv6Gateway":"", 
      "GlobalIPv6Address":"", 
      "GlobalIPv6PrefixLen":0, 
      "MacAddress":"02:42:ac:11:00:02" 
     } 
     } 
    }, 
    "Mounts":[ 
     { 
     "Source":"/root/docker-registry/certs", 
     "Destination":"/certs", 
     "Mode":"", 
     "RW":true, 
     "Propagation":"rprivate" 
     }, 
     { 
     "Source":"/root/docker-registry/data", 
     "Destination":"/var/lib/registry", 
     "Mode":"", 
     "RW":true, 
     "Propagation":"rprivate" 
     }, 
     { 
     "Source":"/root/docker-registry/auth", 
     "Destination":"/auth", 
     "Mode":"", 
     "RW":true, 
     "Propagation":"rprivate" 
     } 
    ] 
    } 
] 

Test Connectionにあります。私は、URI指定したのにもかかわらず、メッセージがまったく同じである:

Jul 07, 2016 7:22:04 AM FINE org.jenkinsci.plugins.dockerbuildstep.DockerBuilder 

Trying to get client for http://127.0.0.1:4243 and version 

Jul 07, 2016 7:22:04 AM WARNING org.jenkinsci.plugins.dockerbuildstep.DockerBuilder$DescriptorImpl 

doTestConnection

uri was not specified java.lang.NullPointerException: uri was not specified at 

com.google.common.base.Preconditions.checkNotNullを(Preconditions.java:204) org.jenkinsci.plugins.dockerbuildstep.DockerBuilder $ DescriptorImpl.createDockerClientで com.github.dockerjava.core.DockerClientConfig $ DockerClientConfigBuilder.withUri(DockerClientConfig.java:406) (DockerBuilder.java:12で0) でorg.jenkinsci.plugins.dockerbuildstep.DockerBuilder $ DescriptorImpl.getDockerClient(DockerBuilder.java:204) でorg.jenkinsci.plugins.dockerbuildstep.DockerBuilder $ DescriptorImpl.doTestConnection(DockerBuilder.java:138) でsun.reflect.NativeMethodAccessorImpl.invoke0 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)されるjava.langにおける でsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)での(ネイティブメソッド) 。 $ this-> $ this-> $ this-> $ this-> $$$$$$$$$$$$$$$$$$$$$$$ VA:167) org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:100) org.kohsuke.stapler.NameBasedDispatcherでorg.kohsuke.stapler.MetaClass $ 1.doDispatch(MetaClass.java:124)で で.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)at org.kohsuke .stapler.MetaClass $ 5.doDispatch(MetaClass.java:233)at org.kohsuke.stapler。org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)at org。 kohsuke.stapler.Stapler.invoke(Stapler.java:649)at org.kohsuke.stapler.Stapler.service(Stapler.java:238)at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) でorg.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) でorg.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1669) hudson.utilで。 PluginServletFilter $ 1.doFilter(PluginServletFilter.java:135) at hudson.util.Plugi hudson.security.csrf.CrumbFilter.doFilterで org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1652) (CrumbFilter.java:80でnServletFilter.doFilter(PluginServletFilter.java:126) ) org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1652) で hudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.java:84) で hudson.security.UnwrapSecurityExceptionFilterで。 doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.java:87) jenkins.security.ExceptionTranslationFilter.doフィルター で org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)で hudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.java:87) で(ExceptionTranslationFilter.java:117) hudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.java:87) でorg.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) hudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilterで。 java:87) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) hudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.javaで hudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.java:87) でjenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) で:87) でorg.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) でhudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) hudson.security.ChainedServletFilter $ 1.doFilterで(ChainedServletFilter.java:87) at org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.javaでhudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)で0 hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) :1652) でorg.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) でorg.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1652) で org.kohsuke.staplerで org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1652) でhudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) 。 org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandlerで org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1652) でDiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) 。 Javaの:585) でorg.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) で org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553) で01で org.eclipse.jetty.server.session.SessionHandler.doHandle org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)で(SessionHandler.java:223) org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) でorg.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) org.eclipse.jettyで org.eclipse.jetty.server.handlerで.server.handler.ContextHandler.doScope org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)で(ContextHandler.java:1061) .HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499)at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) )at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) java.util.concurrent.ThreadPoolExecutor.runWorkerで winstone.BoundedExecutorService $ 1.run(BoundedExecutorService.java:77)で org.eclipse.jetty.io.AbstractConnection $ 2.run(AbstractConnection.java:544) で java.lang.Thread.runで(ThreadPoolExecutor.java:1142) でjava.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) (Thread.java:745)

+0

ここに表示されますか? - 私はそれをやった:http://stackoverflow.com/questions/30046507/using-docker-plugin-on-jenkins – johnharris85

+0

しかし、それは同じことをダンプします。この 'url'プラグインはどこで私に要求しているのですか? – Jordi

+0

これを実行しました。「次にManage Jenkins> Configuration> Configure Systemを選択し、Docker Builderまでスクロールし、DockerサーバーのREST URLに「? – johnharris85

答えて

0

私はこの問題に遭遇しました。

は私にとって、それは明らかに/var/log/jenkins/jenkins.log1.11

クイックルックAdvancedと設定Docker versionをクリックしたした、

WARNING: client version 1.11 is too old. Minimum supported API version is 1.12, please upgrade your client to a newer version

がそれを削除/リロードを適用ヒット、その後、Test connectionが働いていました。

1

ゲンキンソンバージョン2.51とドッカーバージョン1.13.1を使用すると、この問題を解決することができます。まずExecStartdocker.service内)に次の行を追加します。その後、

ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock 

そしてジェンキンスに行く - > [管理]ジェンキンス - >設定システム - >ドッカービルダー。ここ 次のように指定します。ドッカーURLとして

tcp://127.0.0.1:4243 

を。接続を適用してテストします。

関連する問題