Reputation: 161
My Jenkins file:
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 does not let me use docker command because docker daemon is not running. How can i connect my daemon to jenkins? i Have docker and docker pipeline plugins installed on jenkins too.
Upvotes: 1
Views: 52
Reputation: 4366
Sum up of discussion:
By default Jenkins executes on master
node. Docker must be installed on master
node and Jenkins user needs to be allowed to execute docker commands (should be added to docker group).
Upvotes: 1