我的 Jenkins 文件:
pipeline {
agent any
stages {
stage('Initialize') {
steps {
script {
def dockerHome = tool 'myDocker'
env.PATH = "${dockerHome}/bin:${env.PATH}"
}
}
}
stage('Build') {
steps {
echo 'building backend...'
withGradle() {
sh './gradlew build'
}
}
}
stage('Test') {
steps {
echo 'testing'
}
}
stage('Deploy') {
steps {
echo 'deploying'
sh './gradlew jibBuildTar'
sh 'docker load --input build/image.tar'
}
}
}
}
Jenkins不允许我使用docker命令,因为docker守护程序未运行。我如何将守护程序连接到jenkins?
我在jenkins上也安装了docker和docker管道插件。
最佳答案
讨论总结:
默认情况下,Jenkins在master
节点上执行。必须将Docker安装在master
节点上,并且需要允许Jenkins用户执行docker命令(should be added to docker group)。
关于java - 如何在机器上的docker守护程序和Jenkins之间建立连接以执行docker命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61061309/