在 Windows 上搭建,我们通常使用 GitLab for Windows (基于 GitLab CE/EE 的 Windows 版本) 或者 使用 WSL (Windows Subsystem for Linux) + Docker 这两种方式。

- GitLab for Windows: 这是官方推出的原生 Windows 版本,但已经停止更新和维护,它只适合学习和测试,存在严重的安全漏洞,绝对不能用于生产环境。
- WSL + Docker: 这是目前在 Windows 上体验最新、最稳定 GitLab 的最佳方式,它利用了 Linux 内核的兼容性,通过 Docker 来运行标准的 GitLab 镜像,体验接近原生 Linux 环境,也更易于维护和更新。
鉴于以上情况,我将为你详细介绍两种方法,但强烈推荐你选择 WSL + Docker 的方案。
使用 GitLab for Windows (已停止维护,仅作了解)
这种方式最简单,但版本老旧且不安全。
下载安装包
访问 GitLab for Windows 的归档页面下载安装包,你可以从 这里 找到一个旧版本。 注意: 新版本已不可用。
安装
双击运行下载的 .exe 文件,按照向导进行安装,安装过程会自动下载和配置所有依赖项,包括 Ruby、Go、Redis、MySQL 等,并会注册 GitLab 服务。

启动与访问
安装完成后,GitLab 服务会自动启动,打开浏览器,访问 http://localhost。
- 首次访问:需要设置管理员密码,在命令行(GitLab Start Menu -> GitLab CMD)中运行
gitlab-ctl reconfigure,然后按照提示设置。 - 登录:用户名是
root,密码是你刚才设置的。
停止与卸载
- 停止服务:
gitlab-ctl stop - 卸载: 通过 "控制面板" -> "程序和功能" 找到 "GitLab" 并卸载。
WSL + Docker (推荐方案)
这是目前最推荐的 Windows 体验方式,能让你使用最新的 GitLab 版本。
第 0 步:系统要求
在开始之前,请确保你的 Windows 10 系统满足以下条件:
- Windows 10 64-bit,版本 2004 (Build 19041) 或更高。
- 已启用 WSL 2,如果不确定,可以打开 PowerShell (管理员模式) 运行
wsl --install,这会自动启用所需功能并安装 Ubuntu。 - 已启用虚拟化,在任务管理器的 "性能" 标签页下检查 "虚拟化" 是否已启用,如果未启用,需要进入 BIOS/UEFI 开启。
- 已安装 Docker Desktop for Windows,从 Docker 官网 下载并安装,安装时请确保选择 "Use WSL 2 based engine" 选项。
第 1 步:安装 WSL 2 和 Ubuntu
- 以管理员身份打开 PowerShell。
- 运行命令
wsl --install -d Ubuntu,这个命令会自动完成以下操作:- 启用 WSL 功能。
- 下载并安装最新的 WSL 2 内核。
- 安装 Ubuntu 发行版。
- 安装完成后,会自动打开一个 Ubuntu 终端窗口,首次启动需要设置一个用户名和密码(这只是一个用于登录 WSL 的普通用户,不是 root)。
第 2 步:在 WSL 中安装 Docker
虽然你已经安装了 Docker Desktop,但它会在后台为 WSL 2 提供守护进程,我们只需要在 WSL 的 Ubuntu 终端中验证一下。

- 打开 Ubuntu 终端。
- 更新包列表:
sudo apt update - 安装必要的依赖:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common - 添加 Docker 的官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - - 添加 Docker 仓库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" - 再次更新包列表:
sudo apt update - 安装 Docker CE:
sudo apt install -y docker-ce - 将当前用户添加到
docker组,这样就不需要每次都用sudo来运行docker命令了:sudo usermod -aG docker $USER
重要提示:添加用户组后,关闭当前的 Ubuntu 终端,然后重新打开一个新的终端,才能使权限生效。
第 3 步:拉取并运行 GitLab 镜像
一切准备就绪,可以在 WSL 的 Ubuntu 终端中运行 GitLab 了。
-
创建数据持久化目录 (非常重要!防止容器删除后数据丢失):
sudo mkdir -p /srv/gitlab/config sudo mkdir -p /srv/gitlab/logs sudo mkdir -p /srv/gitlab/data
-
运行 GitLab 容器: 复制以下命令到你的 Ubuntu 终端中执行,这个命令会下载 GitLab 镜像并根据你的配置启动一个容器。
sudo docker run --detach \ --hostname gitlab.example.com \ # 修改为你想要的主机名 --publish 443:443 --publish 80:80 --publish 22:22 \ # 端口映射 (HTTP, HTTPS, SSH) --name gitlab \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ --shm-size 256m \ gitlab/gitlab-ce:latest
--hostname: 设置 GitLab 的访问地址,如果你想用 IP 访问,可以改成--hostname 192.168.x.x或--hostname localhost。--publish: 将容器的端口映射到 Windows 主机的端口。--volume: 最关键的一步,将容器内的配置、日志和数据目录挂载到 WSL 的文件系统中,实现数据持久化。--shm-size: 共享内存大小,对于 GitLab 来说很重要,可以避免性能问题。
第 4 步:初始化与访问
- 等待初始化:运行容器后,GitLab 需要一些时间来初始化,你可以通过
sudo docker logs -f gitlab命令来查看启动日志,当看到GitLab is now running!的字样时,就表示启动成功了。 - 获取初始 root 密码:
sudo docker exec -it gitlab cat /etc/gitlab/initial_root_password
这个命令会输出一个很长的随机密码,请务必复制并妥善保存,这个密码只在首次初始化时有效,之后你可以通过 Web 界面修改它。
- 访问 GitLab:
打开 Windows 的浏览器(Chrome, Edge 等),访问
http://localhost或你设置的hostname。- 用户名:
root - 密码:就是上一步获取的密码。
- 用户名:
第 5 步:日常维护命令
- 停止 GitLab:
sudo docker stop gitlab - 启动 GitLab:
sudo docker start gitlab - 重启 GitLab:
sudo docker restart gitlab - 查看日志:
sudo docker logs -f gitlab - 进入容器:
sudo docker exec -it gitlab bash - 更新 GitLab:
- 停止旧容器:
sudo docker stop gitlab - 备份数据 (非常重要!):
sudo docker run --rm --volumes-from gitlab -v $(pwd):/backup busybox tar cvf /backup/gitlab_backup.tar /etc/gitlab /var/log/gitlab /var/opt/gitlab - 拉取新镜像:
sudo docker pull gitlab/gitlab-ce:latest - 删除旧容器:
sudo docker rm gitlab - 用相同的
docker run命令重新启动新容器。
- 停止旧容器:
总结与对比
| 特性 | GitLab for Windows (原生) | WSL + Docker (推荐) |
|---|---|---|
| 官方支持 | 已停止维护,不安全 | 官方推荐,能使用最新版本 |
| 安装难度 | 非常简单 | 中等,需要安装 WSL 和 Docker |
| 性能 | 一般,依赖 Windows 环境 | 优秀,接近 Linux 原生性能 |
| 数据持久化 | 自动处理 | 需要手动配置 Volume |
| 更新维护 | 极其困难,基本无法更新 | 方便,通过 Docker 命令即可 |
| 适用场景 | 仅限快速、临时的本地学习和测试 | 适合需要稳定、最新功能的本地开发、测试环境 |
最终建议: 如果你只是想快速体验一下 GitLab 的界面和基本功能,并且不介意版本老旧,可以尝试方案一。 如果你想在 Windows 上获得一个功能完整、相对稳定且易于维护的 GitLab 环境,请务必选择方案二 (WSL + Docker),它虽然前期配置步骤多一些,但长期来看是更可靠、更现代的选择。
