2017-10-05 38 views
0

我正在嘗試使用python圖像來構建和測試一個非常簡單的python項目。但是當我在Jenkinsfile中給出Docker Image名稱時,它無法拉取圖像。BlueOcean - Jenkins無法爲環境拖拽Docker圖像

[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還使用Docker鏡像來設置環境,但它沒有這個問題。

+0

您是否在您運行Jenkins的主機上運行碼頭工人? – KeepCalmAndCarryOn

+0

我正在運行詹金斯使用它的碼頭形象。 –

+0

圖片爲'jenkins/blueocean:latest' –

回答

0

我遇到了同樣的問題。

容器內的Docker守護程序似乎未啓動。我開始如果手動通過docker exec -u root jenkins /bin/sh -c 'dockerd >/var/log/docker.log 2>&1 &'。它似乎工作。

現在,我嘗試構建一個Dockerfile,它通過修改af入口點腳本來執行jenkins/blueocean:latest以自動啓動docker守護進程。