相关疑难解决方法(0)

docker: command not found ( mac mini ) 只发生在 jenkins shell 步骤,但在命令提示符下工作

我正面临这个奇怪的问题,近几天以来一直在努力解决。

工作: 在 mac mini 命令提示符下,我切换到 jenkins 用户并且可以毫无问题地运行 docker 命令。

不工作: 但是当我运行 jenkins 作业时,无法识别内部 shell 命令步骤 docker。

我收到错误

docker: command not found

docker --version
Run Code Online (Sandbox Code Playgroud)

但是提到 docker 的显式路径,确实有效

/Users/buildserver/Library/Group\ Containers/group.com.docker/bin/docker --version
Run Code Online (Sandbox Code Playgroud)

问题:为什么 docker 命令无法查看正确的路径?

权限

lrwxr-xr-x 1 buildserver 员工 71 Oct 14 10:44 docker -> /Users/buildserver/Library/Group Containers/group.com.docker/bin/docker

jenkins 使用的是员工组的一部分。

提前致谢。

问候, 维克拉姆

macos jenkins docker docker-machine

11
推荐指数
2
解决办法
1万
查看次数

如何在特定的奴隶中限制jenkins管道码头代理?

我有几个jenkins从属配置,只有标签与docker dockerserverenv,那么我如何限制jenkins管道docker代理在这个奴隶?

下面Jenkinsfile不起作用,agent里面stage将覆盖定义的从属dockerserver

pipeline {
    agent { label 'dockerserver' }
    stages {
        stage('Back-end') {
            agent {
                docker { image 'maven:3-alpine' }
            }
            steps {
                sh 'mvn --version'
            }
        }
        stage('Front-end') {
            agent {
                docker { image 'node:7-alpine' }
            }
            steps {
                sh 'node --version'
            }
        }
    }
}

它可能会选择其他没有支持docker的slave

有什么建议吗?

docker jenkins-pipeline

11
推荐指数
2
解决办法
8460
查看次数

MacOS 上的 Jenkins 发出“Docker:找不到命令”

当使用 Pipeline 语法和 Docker 代理从 Jenkinsfile 运行作业时,管道失败并显示“Docker:找不到命令”。我理解这意味着(1)Docker 未安装;(2) Jenkins 未指向正确的 Docker 安装路径。我的情况与这个问题非常相似:Docker command not found in local Jenkins multibranch pipeline。Jenkins 安装在 MacOS 上并运行localhost:8080. Docker 也已安装(v18.06.0-ce-mac70)。/

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

詹金斯文件

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

  stages {
    stage('Unit') {
      steps {
        sh 'node -v'
        sh 'npm -v'
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

错误信息

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

docker pull node:7-alpine
docker: command not found
Run Code Online (Sandbox Code Playgroud)

在 Jenkins …

jenkins docker jenkins-pipeline

5
推荐指数
2
解决办法
9900
查看次数