首页 > 解决方案 > 如何在我的机器上的 docker 守护进程和 Jenkins 之间建立连接以执行 docker 命令?

问题描述

我的詹金斯文件:

     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 上也安装了 docker 和 docker 管道插件。

标签: javaspringrestdockerjenkins

解决方案


讨论总结:

默认情况下,Jenkins 在master节点上执行。Docker 必须安装在master节点上,并且需要允许 Jenkins 用户执行 docker 命令(应添加到 docker 组)。


推荐阅读