MacOS上Jenkins的“Docker:command not found”

yxyvkwin  于 2023-10-17  发布在  Jenkins
关注(0)|答案(3)|浏览(254)

当使用Pipeline语法和Docker代理从Jenkinsfile运行作业时,管道会失败,并显示“Docker:命令未找到。”我理解这意味着(1)Docker未安装;或者(2)Jenkins没有指向正确的Docker安装路径。我的情况与这个问题非常相似:Docker command not found in local Jenkins multi branch pipeline。Jenkins安装在MacOS上,运行在localhost:8080上。Docker也已安装(v18.06.0-ce-mac 70)。/
该用户的解决方案包括从pipeline声明语法切换到node脚本语法。但是,我想在保留声明性语法的同时解决这个问题。

Jenkinsfile

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

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

错误信息

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/进行本地安装。
所有相关的插件似乎都已安装。

nx7onnlm

nx7onnlm1#

我在这里解决了这个问题:https://stackoverflow.com/a/58688536/8160903
(Add Docker到Homebrew Jenkins plist的路径 /usr/local/Cellar/jenkins-lts/2.176.3/homebrew.mxcl.jenkins-lts.plist

nr7wwzry

nr7wwzry2#

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

watbbzwu

watbbzwu3#

您可以尝试将机器上的docker可执行文件的完整路径添加到Jenkins的Manage Jenkins > Global Tool Configuration
我有时看到启动Jenkins的用户在$PATH上没有可执行文件的位置。

相关问题