Jenkins 中的 Docker 管道异常:找不到 Docker

时间:2021-07-13 14:17:18

标签: docker jenkins

我在这样的 docker 容器中使用 Jenkins:

FROM jenkins/jenkins:2.301

USER root

RUN rm /etc/apt/sources.list.d/github_git-lfs.list
RUN apt-get update && apt-get install curl -y
RUN curl -fsSL https://get.docker.com | sh
RUN groupmod -g 998 docker
RUN usermod -a -G docker jenkins

USER jenkins

我使用 docker compose 和这些卷运行:

volumes:
  - /var/run/docker.sock:/var/run/docker.sock
  - ./data/jenkins:/var/jenkins_home

当我的管道工作时,我可以看到创建了一个新容器,当我去 jenkins 容器时,docker 命令工作,但我的管道说:

line 1: docker: not found

这是我的 jenkinsfile 的摘录:

pipeline {
  agent {
    docker {
      image 'node:14.15.5-alpine3.13'
      args '-p 3000:3000' 
    }
  }
  environment {
    CI = 'true'
    REGISTRY = 'my_repo/my_project'
    REGISTRY_CREDENTIAL = 'MY_CREDENTIAL'
    DOCKER_IMAGE = ''
  }
  stages {
    stage('Test') {
      steps {
        sh 'npm i' 
        sh 'npm run lint'
        sh 'npm run type-check' 
        sh 'npm run test'
      }
    }
    stage('Build') { 
      steps {
        sh 'npm run build'
        script { 
          dockerImage = docker.build registry + ":$BUILD_NUMBER" 
        }
      }
    }
    stage('Deliver') {
      steps { 
        script { 
          docker.withRegistry( '', registryCredential ) { 
            dockerImage.push()
          }
        }
      }
    }
    stage('Cleaning') {
      steps {
        sh "docker rmi $registry:$BUILD_NUMBER" 
      }
    }
  }
}

我知道有类似的话题,但要么我不明白,要么我没有完全相同的问题

有人可以帮我吗?

0 个答案:

没有答案
相关问题