giliermo
giliermo

Reputation: 161

How can i establish connection between docker daemon on my machine and Jenkins to execute docker commands?

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

Answers (1)

makozaki
makozaki

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

Related Questions