2015-10-28 2 views
1

Я пытаюсь настроить jenkins для использования контейнеров докеров в качестве среды сборки, но я не могу заставить его запускать контейнеры. Я настроил работу, которая бы начать cloudbees/java-build-tools изображение как тестПлагин Cloudbees jenkins не запускает контейнеры

журнал Сложение:

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 \[email protected]\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" 

можно вручную запустить контейнеры из Дженкинс контейнера просто отлично :

[email protected]:/$ /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 
[email protected]:/$ exit 
[email protected]:/$ 

Версия для докеров 1.7.1 как для хоста/демона, так и для j enkins/клиент.

Job docker config

ответ

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_home/каталог, который только существует на клиентской стороне внутри Дженкинс контейнер.

Я установил это вновь запустить контейнер Дженкинс с -v /var/jenkins_home/:/var/jenkins_home/ и -v /tmp/:/tmp/

/tmp требуется, поскольку Дженкинс хранит оболочки скрипты для выполнения там как /tmp/hudson7422451548770990961.sh.

Смежные вопросы