[英]Jenkins pipeline fails with error : “docker : permission deinied”
[英]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.