我正在尝试将jenkins设置为使用docker容器作为构建环境,但我无法启动它来启动容器。我设置了一个可以将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:/$
主机/守护程序和jenkins /客户端上的Docker版本为1.7.1。
答案 0 :(得分:5)
注意到“详细”复选框帮助我找到原因。
该命令的这一部分揭示了问题:
$ 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/
重新启动jenkins容器来修复此问题
/tmp
是必需的,因为jenkins将shell脚本存储为像/tmp/hudson7422451548770990961.sh
那样执行。
答案 1 :(得分:0)
如果您落后于代理,则尝试在启动docker容器时设置jenkins代理变量。
E.g。
-e JAVA_OPTS="-Dhttp.proxyHost=<proxyHostName> -Dhttp.proxyPort=<portNumber> -Dhttps.proxyHost=<proxyHostName> -Dhttps.proxyPort=<portNumber>"