导致:java.io.IOException:无法运行程序“docker”:error=2,没有那个文件或目录

时间:2021-01-28 11:11:32

标签: jenkins jenkins-pipeline jenkins-groovy

我让 jenkins 作为 docker 容器运行,我正在从 docker.com 安装 docker,采用最新的全局工具配置。

在 Jenkinsfile 中初始化其工作正常。

stage('Initialize') {
            steps {
                script {
                    def dockerHome = tool 'myDocker'
                     env.PATH = "${dockerHome}/bin:${mavenHome}/bin:${env.PATH}"

但在管道中,它失败并出现以下错误。

ava.io.IOException: error=2, No such file or directory
    
        at java.lang.UNIXProcess.forkAndExec(Native Method)
    
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
    
        at java.lang.ProcessImpl.start(ProcessImpl.java:134)
    
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    
    Caused: java.io.IOException: Cannot run program "docker": error=2, No such file or directory
    
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    
        at hudson.Proc$LocalProc.<init>(Proc.java:250)

有什么我遗漏的吗?

1 个答案:

答案 0 :(得分:0)

只需在您的管道中添加工具并安装 docker 插件和 docker 管道插件。

   pipeline {
      ...
      agent any
      //"docker" is from manageJenkins->Global tool configuration-> docker installation 
      //name.
      tools {dockerTool  "docker" } 
      stages {
        ...
      }
}
相关问题