繁体   English   中英

在Mac版Docker上的容器化Jenkins中使用Docker管道

[英]Using Docker pipeline inside a containerized Jenkins on Docker for Mac

我正在尝试在Docker内部运行Jenkins并使用Jenkins Docker Pipeline。 我正在使用17.12.0-ce-mac45(21669),它是Docker的边缘版本。 我遵循詹金斯网站上的教程并运行:

docker run \
  --rm \
  -u root \
  -p 8080:8080 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "$HOME":/home \
 jenkinsci/blueocean

一切正常,但是当我尝试运行一个简单的管道时,例如

pipeline {
    agent {
        docker { image 'node:7-alpine' }
    }
    stages {
        stage('Test') {
            steps {
                sh 'node --version'
            }
        }
    }
}

我说错了

sh: can't create /var/jenkins_home/workspace@tmp/durable-070664e3/jenkins-log.txt: nonexistent directory
sh: can't create /var/jenkins_home/workspace@tmp/durable-070664e3/jenkins-result.txt: nonexistent directory

在此之前,还有其他事情出现: Jenkins does not seem to be running inside a container

还有其他人遇到这个问题吗? 当我使用docker-machine时,它可以工作,但不适用于Mac边缘的Docker。 我不确定它是否适用于Mac稳定版的Docker。 我唯一的猜测就是出现此错误的原因是詹金斯似乎不认为它在容器中是问题的根源。 我确实在这一行的Github存储库中注意到,它希望它看起来像“ / docker /”,这就是让Jenkins认为它是否在容器中的原因。 在docker-machine中,它看起来完全像这样,但在Mac Edge的Docker中,它看起来像是/docker-ce/docker/

我在Docker version 17.12.0-ce, build c97c6d6看到了同样的问题,在macOS上Docker version 17.12.0-ce, build c97c6d6 ,有人已经在Docker version 17.12.0-ce, build c97c6d6 -workflow-plugin https://issues.jenkins-ci.org/browse/中将其报告为错误。 JENKINS-49005 ,现在我使用docker -machine作为一种解决方法,直到对docker-workflow-plugin进行更新或Docker更改cgroup命名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM