Java 如何在我的机器上的docker守护程序和Jenkins之间建立连接以执行docker命令?

Java 如何在我的机器上的docker守护程序和Jenkins之间建立连接以执行docker命令?,java,spring,rest,docker,jenkins,Java,Spring,Rest,Docker,Jenkins,我的詹金斯档案: pipeline { agent any stages { stage('Initialize') { steps { script { def dockerHome = tool 'myDocker' env.PATH = "${dockerHome}/bin:${env.PATH}" } } } st

我的詹金斯档案:

     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命令()。

在某些执行器上安装Docker,并在此特定执行器上运行需要Docker的步骤/阶段。演示如何在jenkins上注册和配置从属节点,以及如何在管道中使用
node()
关键字。您可以使其在主节点上与在从属工作节点上一样工作。如果您不介意在一台机器上执行所有操作。根据您的基础架构,您应该为自己选择最佳的解决方案。如果你想让它在主机上工作,只需连接到主机,并在主机上正确配置docker。当然,如果你不在主机上修复docker,它将永远不会工作。我很困惑
master
是您希望执行管道的位置。因此,您应该在这里调查docker是否正确安装,并且在中执行jenkins命令的用户应该可以访问docker命令(应该添加到docker组)。