詹金斯 + Docker + Windows
Jenkins + Docker + Windows
我目前 运行宁 Jenkins 2.89.3
与 Docker 17.12.0-ce-win47
在 Windows 10,Linux 个容器。
我正在尝试 运行 以下 Jenkins 文件
pipeline {
agent { docker 'maven:3.3.3' }
stages {
stage('build') {
steps {
sh 'mvn --version'
}
}
}
}
但是,我在 Jenkins 中遇到以下错误:
java.io.IOException: Failed to run image 'maven:3.3.3'. Error: docker:
Error response from daemon: the working directory
'C:\Users\c.c\.jenkins\workspace\Neo4jTime_master-R4QSBCTASBURK2MQKHAPXGLIBNT65CJORPZCYLPCGRG75IGOQKTA'
is invalid, it needs to be an absolute path.
我该怎么办?
仅当 Jenkins 安装在 Linux 机器上时,这才有效。
这是因为 Docker 插件将工作区安装到容器中(使用 -v 参数)并且 Windows-path 在 Linux.
中不存在
我在 Windows 上尝试安装 Jenkins 时遇到了类似的问题。示例解决方案 运行 Jenkins in Docker with Docker inside.
我准备了如何在 Docker 中设置 Jenkins 的小自述文件,里面有 Docker 和一个示例 Jenkinsfile https://github.com/auriuki/jenkins-docker
简而言之:运行 Jenkins 在 Docker 中就像在官方 Jenkins 文档中一样。
docker run ^
-u root ^
--rm ^
-d ^
-p 8080:8080 ^
-p 50000:50000 ^
-v "E:/Docker/Jenkins":/var/jenkins_home ^
-v /var/run/docker.sock:/var/run/docker.sock ^
--name jenkins ^
jenkinsci/blueocean
其中 E:/Docker/Jenkins
是为 jenkins 配置、workspec 等创建的目录 - 以避免在删除容器后丢失数据。
我目前 运行宁 Jenkins 2.89.3
与 Docker 17.12.0-ce-win47
在 Windows 10,Linux 个容器。
我正在尝试 运行 以下 Jenkins 文件
pipeline {
agent { docker 'maven:3.3.3' }
stages {
stage('build') {
steps {
sh 'mvn --version'
}
}
}
}
但是,我在 Jenkins 中遇到以下错误:
java.io.IOException: Failed to run image 'maven:3.3.3'. Error: docker:
Error response from daemon: the working directory
'C:\Users\c.c\.jenkins\workspace\Neo4jTime_master-R4QSBCTASBURK2MQKHAPXGLIBNT65CJORPZCYLPCGRG75IGOQKTA'
is invalid, it needs to be an absolute path.
我该怎么办?
仅当 Jenkins 安装在 Linux 机器上时,这才有效。 这是因为 Docker 插件将工作区安装到容器中(使用 -v 参数)并且 Windows-path 在 Linux.
中不存在我在 Windows 上尝试安装 Jenkins 时遇到了类似的问题。示例解决方案 运行 Jenkins in Docker with Docker inside.
我准备了如何在 Docker 中设置 Jenkins 的小自述文件,里面有 Docker 和一个示例 Jenkinsfile https://github.com/auriuki/jenkins-docker
简而言之:运行 Jenkins 在 Docker 中就像在官方 Jenkins 文档中一样。
docker run ^
-u root ^
--rm ^
-d ^
-p 8080:8080 ^
-p 50000:50000 ^
-v "E:/Docker/Jenkins":/var/jenkins_home ^
-v /var/run/docker.sock:/var/run/docker.sock ^
--name jenkins ^
jenkinsci/blueocean
其中 E:/Docker/Jenkins
是为 jenkins 配置、workspec 等创建的目录 - 以避免在删除容器后丢失数据。