首页 文章

来自MacOS的Jenkins的“Docker:命令未找到”

提问于
浏览
0

当使用Pipeline语法和Docker代理从Jenkinsfile运行作业时,管道失败,"Docker: command not found."我理解这意味着(1)Docker未安装;或(2)Jenkins没有指向正确的Docker安装路径 . 我的情况与此问题非常相似:Docker command not found in local Jenkins multi branch pipeline . Jenkins安装在MacOS上并运行 localhost:8080 . 还安装了Docker(v18.06.0-ce-mac70)./

该用户的解决方案包括从 pipeline 声明性语法到 node 脚本语法的切换 . 但是,我想在保留声明性语法的同时解决该问题 .

Jenkinsfile

#!groovy
pipeline {
  agent {
    docker {
      image 'node:7-alpine'
    }
  }

  stages {
    stage('Unit') {
      steps {
        sh 'node -v'
        sh 'npm -v'
      }
    }
  }
}

Error message

docker inspect -f . node:7-alpine
docker: command not found

docker pull node:7-alpine
docker: command not found

在Jenkins全局工具配置中,对于Docker安装,我尝试了(1)自动安装(来自docker.com); (2)使用安装根 /usr/local/ 进行本地安装 .

所有相关插件似乎也已安装 .

2 回答

  • 0

    您可以尝试在 Manage Jenkins > Global Tool Configuration 上将机器上 docker 可执行文件的完整路径添加到Jenkins .

    我've seen it happen sometimes that the user which has started Jenkins doesn'在 $PATH 上有可执行文件的位置 .

  • 1

    我会检查运行jenkins进程的用户,并确保他们是docker组的一部分 .

相关问题