Cloudbees jenkins插件无法启动容器

我想安装jenkins使用docker容器作为构build环境,但我不能让它启动容器。 我build立了一个可以启动cloudbees/java-build-tools镜像的工作

生成日志:

 Started by user Esa Varemo Building in workspace /var/jenkins_home/jobs/Test/workspace $ /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/1.7.1/bin/docker -H tcp://192.168.0.193:4243 inspect cloudbees/java-build-tools [ { "Id": "c5feab23f7a79204fc66a1576b4348fad4f1535c879be005084d5db190cc88da", "Parent": "608dd3644f8b9b229e59f511b641b226818bdaf97dbc208d34110be6bb87f57e", "Comment": "", "Created": "2015-10-28T14:04:00.338346675Z", "Container": "a4f3a773576c05f4a42d9fc96b1bc5514265b7d777985a7430d703fc4ceeb98f", "ContainerConfig": { "Hostname": "d7ae1572c5cc", "Domainname": "", "User": "jenkins", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "PortSpecs": null, "ExposedPorts": { "4444/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "MAVEN_VERSION=3.3.3", "MAVEN_HOME=/usr/share/maven", "SCREEN_WIDTH=1360", "SCREEN_HEIGHT=1020", "SCREEN_DEPTH=24", "DISPLAY=:99.0" ], "Cmd": [ "/bin/sh", "-c", "#(nop) EXPOSE 4444/tcp" ], "Image": "608dd3644f8b9b229e59f511b641b226818bdaf97dbc208d34110be6bb87f57e", "Volumes": null, "VolumeDriver": "", "WorkingDir": "", "Entrypoint": [ "/opt/bin/entry_point.sh" ], "NetworkDisabled": false, "MacAddress": "", "OnBuild": [], "Labels": null, "Init": "" }, "DockerVersion": "1.8.3-rc4", "Author": "Cyrille Le Clerc \u003ccleclerc@cloudbees.com\u003e", "Config": { "Hostname": "d7ae1572c5cc", "Domainname": "", "User": "jenkins", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "PortSpecs": null, "ExposedPorts": { "4444/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "MAVEN_VERSION=3.3.3", "MAVEN_HOME=/usr/share/maven", "SCREEN_WIDTH=1360", "SCREEN_HEIGHT=1020", "SCREEN_DEPTH=24", "DISPLAY=:99.0" ], "Cmd": null, "Image": "608dd3644f8b9b229e59f511b641b226818bdaf97dbc208d34110be6bb87f57e", "Volumes": null, "VolumeDriver": "", "WorkingDir": "", "Entrypoint": [ "/opt/bin/entry_point.sh" ], "NetworkDisabled": false, "MacAddress": "", "OnBuild": [], "Labels": null, "Init": "" }, "Architecture": "amd64", "Os": "linux", "Size": 0, "VirtualSize": 1208820419 } ] $ /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/1.7.1/bin/docker -H tcp://192.168.0.193:4243 run --rm --entrypoint /bin/true cloudbees/java-build-tools $ /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/1.7.1/bin/docker -H tcp://192.168.0.193:4243 run --tty --rm --entrypoint /sbin/ip cloudbees/java-build-tools route $ /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/1.7.1/bin/docker -H tcp://192.168.0.193:4243 run --tty --detach --workdir /var/jenkins_home/jobs/Test/workspace --volume /var/jenkins_home:/var/jenkins_home:rw --volume /tmp:/tmp:rw --net bridge --add-host dockerhost:172.17.42.1 --env BUILD_DISPLAY_NAME=#4 --env BUILD_ID=4 --env BUILD_NUMBER=4 --env BUILD_TAG=jenkins-Test-4 --env BUILD_URL=https://ci2.esav.fi/job/Test/4/ --env CLASSPATH= --env "DOCKER=/var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/1.7.1/bin/docker -H tcp://192.168.0.193:4243" --env EXECUTOR_NUMBER=0 --env HUDSON_HOME=/var/jenkins_home --env HUDSON_SERVER_COOKIE=dfffb9d3e8496f1c --env HUDSON_URL=https://ci2.esav.fi/ --env JENKINS_SERVER_COOKIE=dfffb9d3e8496f1c --env JENKINS_URL=https://ci2.esav.fi/ --env JOB_NAME=Test --env JOB_URL=https://ci2.esav.fi/job/Test/ --env NODE_LABELS=master --env NODE_NAME=master --env WORKSPACE=/var/jenkins_home/jobs/Test/workspace cloudbees/java-build-tools bash Error response from daemon: Cannot start container 2d50f5bf2672da535a9f977d2b5daf1e4b10611f4e601256b49e15188f754089: [8] System error: no such file or directory FATAL: Failed to run docker image java.lang.RuntimeException: Failed to run docker image at com.cloudbees.jenkins.plugins.docker_build_env.Docker.runDetached(Docker.java:205) at com.cloudbees.jenkins.plugins.docker_build_env.DockerBuildWrapper.startBuildContainer(DockerBuildWrapper.java:200) at com.cloudbees.jenkins.plugins.docker_build_env.DockerBuildWrapper.setUp(DockerBuildWrapper.java:173) at hudson.model.Build$BuildExecution.doRun(Build.java:156) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537) at hudson.model.Run.execute(Run.java:1741) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:408) Finished: FAILURE 

Docker守护进程日志:

 info msg="POST /v1.19/containers/create" info msg="POST /v1.19/containers/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/attach?stderr=1&stdout=1&stream=1" info msg="POST /v1.19/containers/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/start" info msg="POST /v1.19/containers/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/wait" info msg="GET /v1.19/containers/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/json" info msg="GET /v1.19/containers/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/json" info msg="DELETE /v1.19/containers/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf?v=1" info msg="GET /v1.19/containers/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/json" info msg="GET /v1.19/containers/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/json" info msg="POST /v1.19/containers/create" info msg="GET /v1.19/containers/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/json" error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" error msg="HTTP Error" err="no such id: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" statusCode=404 info msg="GET /v1.19/images/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/json" error msg="Handler for GET /images/{name:.*}/json returned error: No such image: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" error msg="HTTP Error" err="No such image: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" statusCode=404 info msg="GET /v1.19/containers/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/json" error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" error msg="HTTP Error" err="no such id: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" statusCode=404 info msg="GET /v1.19/images/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/json" error msg="Handler for GET /images/{name:.*}/json returned error: No such image: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" error msg="HTTP Error" err="No such image: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" statusCode=404 info msg="GET /v1.19/containers/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/json" error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" error msg="HTTP Error" err="no such id: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" statusCode=404 info msg="GET /v1.19/images/cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf/json" error msg="Handler for GET /images/{name:.*}/json returned error: No such image: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" error msg="HTTP Error" err="No such image: cbfcfcd71bc8b9c829378d99b998b641aad6b081892e241251dbd51ce5775fdf" statusCode=404 info msg="POST /v1.19/containers/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/attach?stderr=1&stdout=1&stream=1" info msg="POST /v1.19/containers/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/start" info msg="GET /v1.19/containers/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/json" info msg="POST /v1.19/containers/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/wait" info msg="GET /v1.19/containers/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/json" info msg="GET /v1.19/containers/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/json" info msg="DELETE /v1.19/containers/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933?v=1" info msg="GET /v1.19/containers/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/json" info msg="POST /v1.19/containers/create" info msg="GET /v1.19/containers/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/json" error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" error msg="HTTP Error" err="no such id: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" statusCode=404 info msg="GET /v1.19/images/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/json" error msg="Handler for GET /images/{name:.*}/json returned error: No such image: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" error msg="HTTP Error" err="No such image: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" statusCode=404 info msg="GET /v1.19/containers/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/json" error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" error msg="HTTP Error" err="no such id: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" statusCode=404 info msg="GET /v1.19/images/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/json" error msg="Handler for GET /images/{name:.*}/json returned error: No such image: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" error msg="HTTP Error" err="No such image: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" statusCode=404 info msg="GET /v1.19/containers/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/json" error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" error msg="HTTP Error" err="no such id: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" statusCode=404 info msg="GET /v1.19/images/34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933/json" error msg="Handler for GET /images/{name:.*}/json returned error: No such image: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" error msg="HTTP Error" err="No such image: 34e48b72ad7d9a854c8022fda4c10e7934c3efb100bee7be023070cfde582933" statusCode=404 info msg="POST /v1.19/containers/fdc33c86ae5127b5717fe96a6bebe87a83de1605c750bb027f21895c910a31a2/start" info msg="GET /v1.19/containers/fdc33c86ae5127b5717fe96a6bebe87a83de1605c750bb027f21895c910a31a2/json" warning msg="exit status 1" error msg="Error unmounting device fdc33c86ae5127b5717fe96a6bebe87a83de1605c750bb027f21895c910a31a2: UnmountDevice: device not-mounted id fdc33c86ae5127b5717fe96a6bebe87a83de1605c750bb027f21895c910a31a2" error msg="Handler for POST /containers/{name:.*}/start returned error: Cannot start container fdc33c86ae5127b5717fe96a6bebe87a83de1605c750bb027f21895c910a31a2: [8] System error: no such file or directory" error msg="HTTP Error" err="Cannot start container fdc33c86ae5127b5717fe96a6bebe87a83de1605c750bb027f21895c910a31a2: [8] System error: no such file or directory" statusCode=404 info msg="GET /v1.19/containers/fdc33c86ae5127b5717fe96a6bebe87a83de1605c750bb027f21895c910a31a2/json" info msg="GET /v1.19/containers/fdc33c86ae5127b5717fe96a6bebe87a83de1605c750bb027f21895c910a31a2/json" info msg="GET /v1.19/containers/fdc33c86ae5127b5717fe96a6bebe87a83de1605c750bb027f21895c910a31a2/json" info msg="GET /v1.19/containers/fdc33c86ae5127b5717fe96a6bebe87a83de1605c750bb027f21895c910a31a2/json" info msg="GET /v1.19/containers/fdc33c86ae5127b5717fe96a6bebe87a83de1605c750bb027f21895c910a31a2/json" 

我可以从jenkins容器手动启动容器就好了:

 jenkins@1ae38451b61e:/$ /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/1.7.1/bin/docker -H tcp://192.168.0.193:4243 run --rm -ti cloudbees/java-build-tools bash jenkins@68dde85393e3:/$ exit jenkins@1ae38451b61e:/$ 

Docker版本在主机/守护进程和jenkins /客户端上都是1.7.1。

作业码头配置

注意到“详细”checkbox帮助我find原因。

这部分命令揭示了这个问题:

 $ docker -H tcp://192.168.0.193:4243 run --volume /var/jenkins_home:/var/jenkins_home:rw --volume /tmp:/tmp:rw cloudbees/java-build-tools bash Error response from daemon: Cannot start container 2d50f5bf2672da535a9f977d2b5daf1e4b10611f4e601256b49e15188f754089: [8] System error: no such file or directory 

该插件在docker主机上远程运行该命令,该主机试图挂载jenkins容器内仅存在客户端的/ var / jenkins_home /目录。

我通过用-v /var/jenkins_home/:/var/jenkins_home/-v /tmp/:/tmp/

/tmp是必需的,因为jenkins存储shell脚本在/tmp/hudson7422451548770990961.sh执行。