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

如何在Windows 11上成功运行Jenkins Docker镜像/容器?

Jenkins Docker容器无法运行/访问的排查与解决

环境信息

  • 系统:Windows 11 Pro x64
  • Docker版本:4.12.0(85629)

操作过程

  1. 最初按照官方指南执行以下命令启动docker:dind容器:
docker run --name jenkins-docker --rm --detach ^
  --privileged ^
  --env DOCKER_TLS_CERTDIR=/certs ^
  --volume jenkins-docker-certs:/certs/client ^
  --volume jenkins-data:/var/jenkins_home ^
  --publish 2376:2376 ^
  docker:dind

docker:dind启动命令截图

容器运行异常,对应日志截图:
容器日志截图1
容器日志截图2

  1. 更新操作:删除原有容器后,执行命令启动Jenkins官方镜像:
docker run --name vyjenkins -p 2376:2376 jenkins/jenkins

访问https://localhost:2376/仍无法正常工作。


排查与解决步骤

1. 修正Jenkins端口映射错误

Jenkins官方镜像默认监听8080端口(2376是Docker TLS服务的默认端口),之前的端口映射完全错误,导致无法访问。

  • 执行正确的启动命令:
docker run --name vyjenkins -p 8080:8080 -p 50000:50000 jenkins/jenkins
  • 访问http://localhost:8080(注意是HTTP协议,默认Jenkins未配置HTTPS)

2. docker:dind容器的Windows环境适配(若需Docker-in-Docker场景)

如果是要搭建Jenkins+Docker-in-Docker的完整环境,原命令在Windows上存在兼容性问题,按以下调整:

  • 确保Docker Desktop已启用WSL 2后端:打开Docker Desktop设置 → 资源 → WSL集成,勾选已安装的WSL发行版
  • 调整启动命令,挂载宿主机Docker套接字替代端口映射(更稳定):
docker run --name jenkins-docker --rm --detach ^
  --privileged ^
  --env DOCKER_TLS_CERTDIR=/certs ^
  --volume jenkins-docker-certs:/certs/client ^
  --volume jenkins-data:/var/jenkins_home ^
  --volume /var/run/docker.sock:/var/run/docker.sock ^
  docker:dind
  • 若日志出现TLS证书错误,直接禁用TLS简化配置:
docker run --name jenkins-docker --rm --detach ^
  --privileged ^
  --env DOCKER_TLS_CERTDIR= ^
  --volume jenkins-data:/var/jenkins_home ^
  --volume /var/run/docker.sock:/var/run/docker.sock ^
  docker:dind

3. 修复卷挂载权限问题

Windows上Docker卷可能存在权限或损坏问题:

  • 删除并重建相关卷:
docker volume rm jenkins-data jenkins-docker-certs
docker volume create jenkins-data
docker volume create jenkins-docker-certs
  • 若使用WSL 2,建议将数据卷挂载到WSL文件系统,避免Windows文件系统权限限制:
docker run --name jenkins-docker --rm --detach ^
  --privileged ^
  --env DOCKER_TLS_CERTDIR=/certs ^
  --volume jenkins-docker-certs:/certs/client ^
  --volume ~/jenkins-data:/var/jenkins_home ^
  --publish 2376:2376 ^
  docker:dind

4. 基础环境检查

  • 执行docker ps确认容器是否正常运行,执行netstat -ano | findstr :8080检查端口是否被占用
  • 重启Docker Desktop并清除缓存:打开Docker Desktop设置 → 故障排除 → 清除数据 → 重启应用

内容的提问来源于stack exchange,提问作者Đỗ Như Vỹ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 11:10:33