2017-10-05 17 views
0

저는 매우 간단한 파이썬 프로젝트를 빌드하고 테스트하기 위해 python 이미지를 사용하려고합니다. 하지만 Jenkinsfile에서 Docker Image 이름을 지정하면 이미지를 가져올 수 없습니다.BlueOcean - Jenkins가 도커 이미지를 가져올 수 없습니다.

[drone-python_test-jenk-NVHH77CLU5PUMV6UVRK62EARJB3DUVF5FWILYVRZDXOE54RACN2Q] Running shell script 

+ docker pull python 

Using default tag: latest 

Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: https://index.docker.io/v1/ 

Cannot connect to the Docker daemon. Is the docker daemon running on this host? 

script returned exit code 1 

JenkinsFile

pipeline { 
    agent { 
    docker { 
     image 'python' 
    } 
    } 
    stages { 
    stage('Build') { 
     steps { 
     sh '''virtualenv --no-site-packages .env 
''' 
     sh '.env/bin/pip install -r dev-requirements.txt' 
     } 
    } 
    stage('Test') { 
     steps { 
     sh 'flake8 setup.py drone tests' 
     } 
    } 
    stage('test2') { 
     steps { 
     sh 'nosetests --with-coverage --cover-package drone -v' 
     } 
    } 
    } 

편집 : 가 고정 표시기-작성 파일을 사용하여 고정 표시기 호스트 장착 시도

version: '2' 

services: 
jenkins: 
    image: jenkinsci/blueocean 
    ports: 
    - 8888:8080 
    volumes: 
    - /var/run/docker.sock:/var/run/docker.sock 
    restart: always 

또한 기 (고정 표시기에 대한 사용자 jenkins이 올바른 사용자인지 첨가 ?) 하지만 여전히 작동하지 않았습니다. DroneIO는 도커 이미지를 사용하여 환경을 설정했지만이 문제는 없었습니다.

+0

젠킨스를 실행중인 호스트에서 도커를 실행 중이십니까? – KeepCalmAndCarryOn

+0

젠킨스를 도커 이미지로 실행 중입니다. –

+0

이미지는'jenkins/blueocean : latest'입니다. –

답변

0

동일한 문제가 발생했습니다.

컨테이너 내부의 Docker 데몬이 시작되지 않은 것처럼 보입니다. 나는 수동으로 docker exec -u root jenkins /bin/sh -c 'dockerd >/var/log/docker.log 2>&1 &'에 의하여 시작했다. 작동하는 것 같습니다.

이제는 도커 데몬을 자동으로 시작하기 위해 엔트리 포인트 스크립트 수정을 사용하여 jenkins/blueocean:latest을 종료하는 Dockerfile을 빌드하려고합니다.