[英]Why does my docker build fail on jenkins agent?
這是我在項目中的Jenkinsfile
管道
pipeline {
agent {
docker {
image 'docker:dind'
args '-u root:root -p 3000:3000 --privileged'
}
}
environment {
CI = 'true'
}
stages {
stage('docker build') {
when {
branch 'master'
}
steps {
sh 'docker build --label v1.0.0 -t myrepo/myapp:v1.0.0'
}
}
}
}
我分別有一個詹金斯主代理和從代理。 上面的管道在主節點上運行良好,但是如果在從代理節點上運行,則會遇到以下錯誤:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
我非常確定docker正在代理節點上運行,因為我可以使用ssh並成功運行docker命令。
為什么在主代理和從代理上運行時其行為不同? 我應該如何解決? 非常感謝!
我不知道為什么,但是我通過以下更改對其進行了修復:將-v /var/run/docker.sock:/var/run/docker.sock
到args。
pipeline {
agent {
docker {
image 'docker:dind'
args '-u root:root -p 3000:3000 --privileged -v /var/run/docker.sock:/var/run/docker.sock'
}
}
environment {
CI = 'true'
}
stages {
stage('docker build') {
when {
branch 'master'
}
steps {
sh 'docker build --label v1.0.0 -t myrepo/myapp:v1.0.0'
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.