7

我目前正在Jenkins 2.89.3使用Docker 17.12.0-ce-win47Linux 容器在 Windows 10 上运行。

我正在尝试运行以下 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.

我应该怎么办?

4

2 回答 2

6

当我尝试在 Windows 上安装 Jenkins 时,我遇到了类似的问题。在 Docker中运行 Jenkins 的示例解决方案,其中包含 Docker 。

我准备了小自述文件,如何在 Docker 中设置 Jenkins,其中包含 Docker 和示例 Jenkinsfile https://github.com/auriuki/jenkins-docker

简而言之:在 Docker 中运行 Jenkins,就像在 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 配置、工作规范等创建的目录 - 以避免在容器被删除后丢失数据。

于 2019-06-04T19:21:08.557 回答
1

这只有在将 Jenkins 安装在 Linux 机器上时才有效。这是因为 Docker 插件将工作空间挂载到容器中(使用 -v 参数)并且 Linux 中不存在 Windows 路径。

于 2018-01-22T21:35:34.480 回答