GitLab 私服(基于 Docker)搭建方案

整个过程将使用 Docker Compose,这样方便以后启动/停止/升级。


🚀 一、准备环境

  1. 安装 Docker Desktop
    如果你还没安装:
  • 下载地址:https://www.docker.com/products/docker-desktop
  • 安装完成后确保:
    • 启用 WSL2 后端(Windows 11 默认支持)

    • 启动 Docker Desktop 并确认右下角图标为绿色 ✅
      验证是否可用:

      docker version


📁 二、创建 GitLab 目录结构

在 PowerShell 中执行以下命令:

复制代码
mkdir D:\workspace\app\gitlab
mkdir D:\workspace\app\gitlab\config
mkdir D:\workspace\app\gitlab\logs
mkdir D:\workspace\app\gitlab\data

说明:

  • config → 存放 GitLab 配置文件
  • logs → 存放运行日志
  • data → 存放仓库与数据库数据

🧱 三、创建 Docker Compose 文件

在 D:\workspace\app\gitlab 目录中创建文件:

📄 docker-compose.yml

内容如下 👇

复制代码
version: '3.8'

services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    restart: always
    hostname: 'gitlab.local'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://localhost'
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
    ports:
      - '8000:80'
      - '443:443'
      - '2222:22'
    volumes:
      - 'D:/workspace/app/gitlab/config:/etc/gitlab'
      - 'D:/workspace/app/gitlab/logs:/var/log/gitlab'
      - 'D:/workspace/app/gitlab/data:/var/opt/gitlab'

说明:


🐳 四、启动 GitLab 容器

在该目录下执行命令:

cd D:\workspace\app\gitlab

复制代码
docker compose up -d

查看运行状态:

复制代码
docker ps

输出示例:

复制代码
CONTAINER ID   IMAGE                     STATUS         PORTS
xxxxxx         gitlab/gitlab-ce:latest   Up 3 minutes   0.0.0.0:8000->80/tcp, ...

🕐 五、等待初始化

GitLab 第一次启动会花 3~10 分钟初始化。

可以用命令查看进度:

复制代码
docker logs -f gitlab

当看到:

复制代码
GitLab now ready!

代表初始化完成 ✅


🌐 六、访问与登录

打开浏览器访问:

复制代码
 👉 http://localhost:8000

首次进入会要求设置管理员密码。

  • 用户名:root
  • 密码:你第一次设置的密码
    登录后即可进入 GitLab 控制台。

⚙️ 七、修改外部访问地址(可选)

如果你打算用 IP 或自定义域名访问,比如:

复制代码
http://192.168.1.100

修改配置:

编辑:

复制代码
D:\workspace\app\gitlab\config\gitlab.rb

找到并修改:

复制代码
external_url 'http://192.168.1.100'

保存后执行:

复制代码
docker exec -it gitlab gitlab-ctl reconfigure

🔧 八、常用命令

操作 命令
启动 docker compose up -d
停止 docker compose down
重启 docker restart gitlab
查看日志 docker logs -f gitlab
进入容器 docker exec -it gitlab bash
重新加载配置 docker exec -it gitlab gitlab-ctl reconfigure

💾 九、备份与恢复

备份:

复制代码
docker exec -t gitlab gitlab-backup create

备份文件路径:

复制代码
D:\workspace\app\gitlab\data\backups

恢复:

复制代码
docker exec -it gitlab gitlab-backup restore BACKUP=文件名

✅ 十、完成!

现在你就拥有了一个运行在 Windows 11 + Docker 上的 GitLab 私有仓库。

你可以直接通过浏览器访问和管理,也能通过 SSH 克隆(端口 2222)。


相关推荐
JavaPub-rodert12 分钟前
我又把自己的 Go 后台管理系统升级了一遍:文件管理、2GB 上传、私有文件预览、Docker 镜像全安排上了
开发语言·docker·golang·shiyuadmin
Zhu7581 小时前
在docker环境部署frp
运维·docker·容器
Geek-Chow2 小时前
Git 标签与发布流程:轻量标签、附注标签与签名标签
git·tags
wear工程师2 小时前
Git 冲突怎么解决:别只删标记,先看懂暂存区的 1、2、3 阶段
git
村雨遥2 小时前
覆盖提交不等于删除,这才是彻底清除 Git 历史的正确姿势
git·github
淮北4943 小时前
ubuntu22 默认输入法调整频率
运维·服务器·git·ubuntu·elasticsearch
承渊政道4 小时前
飞牛NAS部署Immich:搭建家庭相册并实现远程访问
运维·服务器·docker·内网穿透·cpolar·nas·immich
x-cmd4 小时前
用 Rust 打造 AI 时代的 SQL:把重复任务变成可执行文件
数据库·人工智能·sql·ai·容器·rust·workflow
dunge20265 小时前
2026 ChatGPT Plus / Pro + Codex 实战:从 0 搭一套 AI 编程项目模板,AGENTS.md + Git + 测试一次配好
人工智能·git·chatgpt
ruofu335 小时前
如何让docker使用提前下载好的镜像,而不是在线拉取
java·spring cloud·docker