在Docker容器中运行Jenkins失败,并显示script.sh:docker:找不到

时间:2019-06-12 12:45:39

标签: docker jenkins

我试图在Jenkins Docker容器中本地构建一个简单的JS应用,但是构建失败,并显示以下信息:

script.sh: docker: not found (full stack trace is omitted for easier reading)

这是该应用的Jenkinsfile

pipeline {
  agent { dockerfile true }

  stages {
    stage('Install') {
      steps {
        sh 'node -v '      
        sh 'yarn -v'
        sh 'ember -v'

      }
    }
  }
}

这是该应用的Dockerfile

FROM node:12

RUN curl -o- -L https://yarnpkg.com/install.sh | bash
RUN npm install -g ember-cli

我想念什么?谢谢。

1 个答案:

答案 0 :(得分:0)

您在Jenkins节点上缺少Docker客户端。

如果您将Jenkins作为docker容器运行,则还必须在其中安装Docker。

此Dockerfile将使用Jenkins容器作为基本映像,然后安装docker client,以便它可以与docker守护进程通信。

来自jenkinsci / jenkins:lts

USER root
RUN apt-get update -qq \
    && apt-get install -qqy apt-transport-https ca-certificates curl gnupg2 software-properties-common 
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"
RUN apt-get update  -qq \
    && apt-get install docker-ce=17.12.1~ce-0~debian -y
RUN usermod -aG docker jenkins

或者,如果您以其他方式安装Jenkins,则仍然必须在Jenkins节点上安装Docker。