在 Windows 上使用 Docker 部署 GitLab 是完全可行的,推荐使用 Docker Desktop for Windows 来运行 GitLab 容器。以下是详细的本地部署步骤。
✅ 前提条件
确保你已安装以下工具:
- Windows 10 或 Windows 11(64位)
- Docker Desktop for Windows
- 启用 WSL2(Windows Subsystem for Linux),Docker Desktop 会自动处理
- 至少 4GB 可用内存(建议 8GB+,GitLab 较吃资源)
💡 提示:GitLab 社区版(CE)启动后可能占用 2~3GB 内存,请确保系统资源充足。
🛠️ 步骤一:安装并启动 Docker Desktop
- 下载并安装 Docker Desktop for Windows
- 安装过程中勾选:
- Enable WSL2 Features
- Install required Windows components
- 安装完成后重启,打开 Docker Desktop
- 确保状态显示 "Docker Desktop is running"
📁 步骤二:创建 GitLab 目录结构
选择一个位置,比如 D:\gitlab
,创建以下目录:
bash
D:\gitlab
├── config
├── data
└── logs
你可以手动创建,或在 PowerShell 中执行:
powershell
mkdir D:\gitlab\config
mkdir D:\gitlab\data
mkdir D:\gitlab\logs
🐳 步骤三:编写 docker-compose.yml
在 D:\gitlab
下新建文件 docker-compose.yml
,内容如下:
yaml
version: '3.6'
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: always
hostname: localhost
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://localhost:8989'
nginx['listen_port'] = 8989
nginx['listen_https'] = false
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# 如果需要邮件通知可配置 SMTP(可选)
ports:
- "8989:8989"
- "2222:22"
volumes:
- D:/gitlab/config:/etc/gitlab
- D:/gitlab/data:/var/opt/gitlab
- D:/gitlab/logs:/var/log/gitlab
shm_size: '256m'
⚠️ 注意:
- 使用
D:/gitlab
而不是\
(Docker 兼容 POSIX 路径)external_url
设置为http://localhost:8989
,这样可以从本机浏览器访问- SSH 映射到宿主机的
2222
端口,避免与 OpenSSH 冲突
▶️ 步骤四:启动 GitLab
方法一:使用 PowerShell + Docker Compose
进入目录并启动:
powershell
cd D:\gitlab
docker-compose up -d
如果提示
'docker-compose' 不是命令
,请确认 Docker Desktop 已安装完整组件。或者直接使用:
docker compose up -d
(新版 Docker 使用无横杠命令)
打开网址设置密码
http://localhost:8989
1. 进入 GitLab 容器的 Rails 控制台
docker exec -it gitlab gitlab-rails console
2. 在控制台中执行(替换 'new_password' 为你想设的新密码)
user = User.where(id: 1).first
user.password = 'new_password'
user.password_confirmation = 'new_password'
user.save!
3. 退出控制台
exit