Jenkins上的Docker-plugin无法测试连接

时间:2015-01-24 00:07:15

标签: jenkins docker

我的ubuntu服务器上安装了docker。 我在Docker上部署了Jenkins,并在其上安装了docker-plugin。

我正在尝试使用params:

添加Cloud-docker

jenkins.version是1.597

name:docker Docker Url:172.17.42.1:4243 连接超时:5 读取超时:15

但是我在测试连接期间一直得到连接拒绝错误:

  

javax.servlet.ServletException:javax.ws.rs.ProcessingException:   java.net.ConnectException:拒绝连接   org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)at at   org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)at at   org.kohsuke.stapler.MetaClass $ 6.doDispatch(MetaClass.java:249)at at   org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)     在org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)at   org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)at at   org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)at at   org.kohsuke.stapler.Stapler.service(Stapler.java:238)at at   javax.servlet.http.HttpServlet.service(HttpServlet.java:848)at at   org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)     在   org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1494)     在   hudson.util.PluginServletFilter $ 1.doFilter(PluginServletFilter.java:123)     在   hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)     在   org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1482)     在hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)at   org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1482)     在   hudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.java:84)     在   hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)     在hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)at   org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1482)     在   org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)     在   org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1482)     在   hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)     在   org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1482)     在   org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)     在   org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1474)     在   org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)     在   org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)     在   org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)     在   org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)     在   org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)     在   org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)     在   org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)     在   org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)     在   org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)     在   org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)     在org.eclipse.jetty.server.Server.handle(Server.java:370)处   org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)     在   org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)     在   org.eclipse.jetty.server.AbstractHttpConnection $ RequestHandler.content(AbstractHttpConnection.java:1021)     在org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)     在   org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)     在   org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)     在   org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)     在   org.eclipse.jetty.io.nio.SelectChannelEndPoint $ 1.run(SelectChannelEndPoint.java:52)     在   winstone.BoundedExecutorService $ 1.run(BoundedExecutorService.java:77)     在   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)     在   java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:615)     在java.lang.Thread.run(Thread.java:745)引起:   javax.ws.rs.ProcessingException:java.net.ConnectException:Connection   拒绝了   org.glassfish.jersey.client.HttpUrlConnector.apply(HttpUrlConnector.java:184)     在   org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:227)     在   org.glassfish.jersey.client.JerseyInvocation $ 3.call(JerseyInvocation.java:693)     在org.glassfish.jersey.internal.Errors.process(Errors.java:315)at   org.glassfish.jersey.internal.Errors.process(Errors.java:297)at   org.glassfish.jersey.internal.Errors.process(Errors.java:228)at   org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:422)     在   org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:689)     在   org.glassfish.jersey.client.JerseyInvocation $ Builder.method(JerseyInvocation.java:405)     在   org.glassfish.jersey.client.proxy.WebResourceFactory.invoke(WebResourceFactory.java:318)     在com.sun.proxy。$ Proxy51.version(未知来源)at   com.nirima.docker.client.DockerClient $ System.version(DockerClient.java:116)     在   com.nirima.jenkins.plugins.docker.DockerCloud $ DescriptorImpl.doTestConnection(DockerCloud.java:341)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)     在   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     在java.lang.reflect.Method.invoke(Method.java:606)at   org.kohsuke.stapler.Function $ InstanceFunction.invoke(Function.java:298)     在org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)at   org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)     在org.kohsuke.stapler.MetaClass $ 1.doDispatch(MetaClass.java:121)at at   org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)     在org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)... 48   更多由:java.net.ConnectException:连接被拒绝   java.net.PlainSocketImpl.socketConnect(Native Method)at   java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)     在   java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)     在   java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)     在java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)at   java.net.Socket.connect(Socket.java:579)at   sun.net.NetworkClient.doConnect(NetworkClient.java:175)at   sun.net.www.http.HttpClient.openServer(HttpClient.java:432)at   sun.net.www.http.HttpClient.openServer(HttpClient.java:527)at   sun.net.www.http.HttpClient。(HttpClient.java:211)at   sun.net.www.http.HttpClient.New(HttpClient.java:308)at   sun.net.www.http.HttpClient.New(HttpClient.java:326)at at   sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:996)     在   sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:932)     在   sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:850)     在   sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1300)     在   java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)     在   org.glassfish.jersey.client.HttpUrlConnector._apply(HttpUrlConnector.java:276)     在   org.glassfish.jersey.client.HttpUrlConnector.apply(HttpUrlConnector.java:182)     ......还有70多个

可能出错?

感谢

2 个答案:

答案 0 :(得分:4)

问题解决了

即使你在拥有docker的同一主机上运行jenkins,也应该打开

打开端口4243的监听器。我做的。 但我正在以聆听者的身份运行:

 sudo docker -H tcp://127.0.0.1:4243 -d &

但应该是

 sudo docker -H tcp://0.0.0.0:4243 -d &

并且不要忘记向防火墙添加规则。

答案 1 :(得分:1)

您可以使用以下条目更新/etc/default/docker.io文件。

DOCKER_OPTS="-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock"