
在团队协作与代码管理中,GitLab是一款功能强大的自托管Git服务器。它集成了代码仓库管理、分支合并请求、CI/CD、Wiki、Issue跟踪等功能,几乎能满足从个人开发者到中小团队的所有版本管理需求。

相比使用公共平台,自建GitLab最大的优势在于数据完全可控、访问速度更快、安全性更高。不过,许多用户在搭建时会遇到一个问题:家中或办公网络没有公网IP,导致无法远程访问。
本文将以Windows系统为例,介绍如何通过Docker快速部署GitLab,并结合贝锐花生壳免费内网穿透实现公网远程访问,让你可以随时随地访问自己的Git服务器,无需购买云主机或公网带宽。
一、在Windows系统中使用Docker部署GitLab
在开始部署前,请确保电脑已安装Docker Desktop for Windows并处于运行状态,并在本地磁盘中为GitLab创建数据目录,用于存放配置文件、日志和仓库数据。
这些目录用于实现数据持久化存储,即使容器被删除,GitLab 的所有项目与配置也能完整保留。
接下来,打开PowerShell或CMD,执行以下单行命令启动GitLab容器:
docker run -d --hostname localhost --name gitlab -v D:\gitlab\config:/etc/gitlab -v D:\gitlab\logs:/var/log/gitlab -v D:\gitlab\data:/var/opt/gitlab -p 8929:80 -p 2222:22 --restart=unless-stopped gitlab/gitlab-ce:latest
命令参数说明:
--hostname localhost:设置 GitLab 运行时主机名(可根据实际情况修改为内网 IP)。
-v 参数将宿主机目录挂载到容器,实现配置、日志与数据的持久化。
-p 8929:80 将容器内的 Web 服务映射到本机的 8929 端口。
-p 2222:22 将 SSH 服务映射到 2222 端口,用于仓库的 SSH 推送和拉取。
--restart=unless-stopped 确保容器在系统重启后自动恢复运行。
执行命令后,Docker 会自动从官方仓库拉取最新版本的GitLab CE镜像。根据网络与硬盘性能,初始化过程通常需要几分钟到十几分钟不等。
完成后,打开浏览器输入:localhost:8929即可访问GitLab的网页界面。

首次登录时,系统会要求设置管理员账号(默认用户名为 root),密码存放在D:\gitlab\config\initial_root_password文件中,打开即可查看。登录后,你便可以像使用GitHub一样创建项目、管理分支、添加协作者,或者配置CI/CD。
二、使用贝锐花生壳实现内网穿透,免费实现远程访问
GitLab在本地搭建完成后,默认只能在局域网中访问。若希望在外网环境(如远程办公、笔记本、手机)访问,就必须具备公网IP或路由器端口转发权限,而这对于多数家庭宽带或校园网络用户而言几乎无法实现。
此时,贝锐花生壳就能派上用场。它提供免费的内网穿透服务,无需公网IP、无需复杂配置,只需登录账号添加映射,就能为本地服务生成一个可公网访问的域名。
首先,在运行GitLab的Windows主机上访问贝锐花生壳官网,下载并安装Windows客户端。安装完成后登录贝锐账号(如没有账号,可直接注册一个)。

启动花生壳客户端后,点击“添加映射”,选择HTTPS映射。在设置界面中,内网主机地址填写本机在局域网中的IP(如 192.168.1.10),端口填写8929。如果GitLab和花生壳运行在同一台电脑上,也可以直接使用127.0.0.1。

保存后,花生壳会自动为你生成一个可以远程访问的固定域名地址。

此时,你就可以在任何网络环境下,通过这个域名访问自己搭建的GitLab网页端,而不需要修改光猫或路由器设置。

如果希望外部设备通过SSH推送代码,可在花生壳中为端口2222添加另一条TCP映射,对应的外部地址可用于远程克隆和推送操作。

这样,你的GitLab已经具备与公网服务器几乎相同的访问能力。
三、贝锐花生壳内网穿透让远程访问更安全
将GitLab映射到公网后,安全性是必须考虑的重点。GitLab默认提供完整的权限与访问控制机制。
并且,花生壳同样提供了安全防护机制。你可以为每个映射设置访问口令,或限制来源IP,仅允许特定设备访问。同时,花生壳内置“爆破防护”功能,能实时检测异常高频请求,自动拦截暴力破解行为,有效提升GitLab远程访问的安全。
通过以上步骤,我们在Windows环境下完成了GitLab的Docker部署,并借助贝锐花生壳免费内网穿透实现了公网远程访问。整个过程无需购买云服务器、无需公网IP,也不必修改路由器端口设置。只需几条命令与一个免费映射域名,你就能轻松拥有一台随时随地可访问的私有 Git服务器。