我想使用Jenkins Pipeline构建,推送和部署我的Docker映像。
我明白了:
Got permission denied while trying to connect to the
Docker daemon socket at unix:///var/run/docker.sock
Other questions on StackOverflow建议sudo usermod -a -G docker jenkins
,然后重新启动Jenkins,但是我无权访问运行Jenkins的机器-无论如何,围绕Docker构建的Jenkins Pipeline似乎无法实现运行基本的Docker命令。
如何构建Docker?
pipeline {
agent any
stages {
stage('deploy') {
agent {
docker {
image 'google/cloud-sdk:latest'
args '-v /var/run/docker.sock:/var/run/docker.sock'
}
}
steps {
script {
docker.build "gcr.io/myporject/mydockerimage:1"
}
}
}
}
}
答案 0 :(得分:1)
所示的管道定义正在尝试在Docker容器(google / cloud-sdk:latest)中执行docker构建。相反,如果主机上的jenkins用户有权在主机上执行docker命令,则应执行以下操作。
pipeline {
agent any
stages {
stage('deploy') {
steps {
script {
docker.build "gcr.io/myporject/mydockerimage:1"
}
}
}
}
}
jenkins在机器上分别安装和配置时,如果没有适当的许可就无法执行docker命令,这并不奇怪。