在Windows系统中使用Docker部署GitLab Runner的正确方式
Windows环境下Docker部署GitLab Runner的正确方法
刚好我在Windows环境下部署过GitLab Runner容器,给你梳理下正确的步骤——官方文档的核心逻辑是通用的,但Windows的路径规则和Docker Desktop的特性需要特别调整,你之前的命令里也有几个小问题需要修正。
前提准备
- 确保你已经安装并启动了Docker Desktop,并且切换到了Linux容器模式(GitLab Runner官方镜像基于Linux,Linux容器模式更稳定)
- 建议启用WSL2后端(Docker Desktop设置中可以开启,性能和兼容性更好)
修正后的容器启动命令
你之前的命令里路径写错了(gitla应该是gitlab-runner/config),而且Windows的Shell(PowerShell/CMD)对路径变量的写法和Linux不同,分两种情况:
1. 使用PowerShell执行
# 先手动创建本地配置目录(避免权限问题) New-Item -ItemType Directory -Path "./gitlab-runner/config" -Force # 启动GitLab Runner容器 docker run -d --name gitlab-runner --restart always ` -v "${PWD}/gitlab-runner/config:/etc/gitlab-runner" ` -v "/var/run/docker.sock:/var/run/docker.sock" ` gitlab/gitlab-runner:latest
2. 使用CMD执行
:: 先手动创建本地配置目录 mkdir gitlab-runner\config :: 启动GitLab Runner容器 docker run -d --name gitlab-runner --restart always ^ -v "%cd%/gitlab-runner/config:/etc/gitlab-runner" ^ -v "/var/run/docker.sock:/var/run/docker.sock" ^ gitlab/gitlab-runner:latest
注册GitLab Runner
容器启动后,需要把它注册到你的GitLab实例:
- 进入容器终端:
docker exec -it gitlab-runner gitlab-runner register
- 按照提示依次输入:
- GitLab实例的URL(比如你的私有GitLab地址或
https://gitlab.com/) - GitLab项目/组的注册令牌(在GitLab的Settings → CI/CD → Runners里可以找到)
- Runner的描述(自定义名称,比如
Windows-Docker-Runner) - Runner的标签(用于指定哪些CI任务用这个Runner,比如
docker,windows) - 执行器类型:选择
docker(因为我们要在容器里运行CI任务) - 默认Docker镜像:比如
ubuntu:latest(可以根据你的项目需求调整)
- GitLab实例的URL(比如你的私有GitLab地址或
注意事项
- 如果你的Docker Desktop用的是Windows容器模式(不推荐,因为GitLab Runner镜像为Linux),需要把
/var/run/docker.sock的挂载路径改成//./pipe/docker_engine:/var/run/docker.sock - 本地配置目录
./gitlab-runner/config会保存Runner的注册信息,容器重启或重建都不会丢失配置 - 查看Runner日志:
docker logs gitlab-runner - 更新Runner容器:先停止并删除旧容器,拉取最新镜像后重新启动:
docker stop gitlab-runner docker rm gitlab-runner docker pull gitlab/gitlab-runner:latest # 重新执行之前的启动命令
内容的提问来源于stack exchange,提问作者george_mx
相关产品推荐
相关产品推荐

