【发布时间】:2018-07-31 04:56:16
【问题描述】:
当使用流水线语法和 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-mac70)。/
该用户的解决方案包括从 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/进行本地安装。
似乎也安装了所有相关插件。
【问题讨论】:
标签: docker jenkins jenkins-pipeline