我正在windows机器上尝试jenkins中的maven管道。我正在通过以下命令运行詹金斯容器:
docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins
我的Jenkinsfile如下:
pipeline {
agent {
docker {
image 'maven:3.8.1-adoptopenjdk-11'
args '-v /root/.m2:/root/.m2'
}
}
stages {
stage('Build') {
steps {
sh 'mvn -B -DskipTests clean package'
}
}
}
}
在构建管道时,我得到了以下错误:
+ docker inspect -f . maven:3.8.1-adoptopenjdk-11
/var/jenkins_home/workspace/simple-java-maven-app@tmp/durable-2227453d/script.sh: 1:
/var/jenkins_home/workspace/simple-java-maven-app@tmp/durable-2227453d/script.sh: docker: not found
[Pipeline] isUnix
[Pipeline] sh
+ docker pull maven:3.8.1-adoptopenjdk-11
/var/jenkins_home/workspace/simple-java-maven-app@tmp/durable-f8b58578/script.sh: 1:
/var/jenkins_home/workspace/simple-java-maven-app@tmp/durable-f8b58578/script.sh: docker: not found
[Pipeline] }
Docker桌面已经安装在我的机器上,所以无法获得Why I are get";docker:找不到"错误
有人能指出我是否遗漏了什么吗。
谢谢,
如果运行以下命令:
docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins
您没有为jenkins提供访问主机上安装的docker的方法
要实现这一点,请将docker套接字作为一个卷装入docker run命令中。
在windows上(根据windows上的绑定到docker套接字(:
-v //var/run/docker.sock:/var/run/docker.sock
在linux上:
-v /var/run/docker.sock:/var/run/docker.sock