首页 > 解决方案 > 如何在 Jenkins 中正确安装 docker?

问题描述

我正在jenkins/jenkins从 dockerhub 运行图像,我已经安装了 docker 插件,仍然无法在管道中找到 docker,我缺少什么

pipeline {
  agent any

  stages {
    stage('Running') {
      agent {
        docker {
          image 'node:14-alpine'
        }
      }


      steps {
        echo 'preparing the flow'
      }
    }

    stage('Build') {
      agent {
        docker {
          image 'node:14-alpine'
        }
      }

      steps {
        sh """
          npm install
        """
      }
    }
  }
}

/var/jenkins_home/workspace/multibranch_PR-1@2@tmp/durable-5bf3a454/script.sh: 1: /var/jenkins_home/workspace/multibranch_PR-1@2@tmp/durable-5bf3a454/script.sh: docker: not found
[Pipeline] isUnix
[Pipeline] sh
+ docker inspect -f . hub.docker.com/node:14-alpine
/var/jenkins_home/workspace/multibranch_PR-1@2@tmp/durable-dea9bcb7/script.sh: 1: /var/jenkins_home/workspace/multibranch_PR-1@2@tmp/durable-dea9bcb7/script.sh: docker: not found
[Pipeline] isUnix
[Pipeline] sh
+ docker pull hub.docker.com/node:14-alpine
/var/jenkins_home/workspace/multibranch_PR-1@2@tmp/durable-b25ea3a8/script.sh: 1: /var/jenkins_home/workspace/multibranch_PR-1@2@tmp/durable-b25ea3a8/script.sh: docker: not found

标签: dockerjenkinsjenkins-pipeline

解决方案


该插件只是一个实用层,用于从管道中使用 docker,它不安装 docker,仍然需要访问 docker 套接字。

通常有两种方法可以实现这一点。在 jenkins 容器内安装 docker(使用 apt)或在容器内安装主机的 docker 套接字。对于后者,你可以按照这个


推荐阅读