You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下Jenkins中Docker容器运行报错的解决方法

Jenkins Windows环境下Docker Pipeline工作目录错误解决方案

问题背景

在Windows机器上运行Jenkins官方Hello World Docker Pipeline教程时,出现工作目录无效的错误。已安装JDK、带WSL2 Ubuntu的Docker Desktop,使用的Jenkinsfile内容如下:

/* Requires the Docker Pipeline plugin */
pipeline {
    agent { docker { image 'python:3.10.7-alpine' } }
    stages {
        stage('build') {
            steps {
                sh 'python --version'
            }
        }
    }
}

运行流水线后核心报错信息:

java.io.IOException: Failed to run image 'python:3.10.7-alpine'. Error: docker: Error response from daemon: the working directory 'C:/Users/wenni/.jenkins/workspace/FirstPipeline_main/' is invalid, it needs to be an absolute path.

将agent { docker { image 'python:3.10.7-alpine' } }替换为agent any后,流水线可执行,但因本地未安装Python导致python --version命令失败。

解决方案

该问题源于Windows路径格式与Linux Docker容器不兼容:Jenkins传递Windows风格路径给Linux容器,容器无法识别此类路径。以下是两种可行解决方法:

方法1:指定容器内的Linux风格工作目录

修改Jenkinsfile,在Docker Agent配置中添加args参数,指定容器内的Linux绝对工作目录,并将本地Windows工作目录挂载到该路径:

pipeline {
    agent { 
        docker { 
            image 'python:3.10.7-alpine'
            args '-v C:/Users/wenni/.jenkins/workspace/FirstPipeline_main:/workspace -w /workspace'
        } 
    }
    stages {
        stage('build') {
            steps {
                sh 'python --version'
            }
        }
    }
}

方法2:在WSL2 Ubuntu环境中运行Jenkins

  1. 放弃Windows原生Jenkins安装,在WSL2 Ubuntu系统内安装Jenkins
  2. 确保Docker Desktop已设置为使用WSL2后端
  3. 此时Jenkins工作目录为Linux风格路径,传递给Docker容器时不会出现格式冲突,可直接使用教程原Jenkinsfile运行

补充说明

Windows机器完全可以完成该Jenkins入门教程,只需解决跨系统路径格式兼容问题,或切换到WSL2环境运行Jenkins即可规避此类问题。

内容的提问来源于stack exchange,提问作者Dennix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:25:37