docker-gitlab 18.5.1 极速部署指南:3步实现容器化GitLab环境搭建
【免费下载链接】docker-gitlab Dockerized GitLab 项目地址: https://gitcode.com/gh_mirrors/do/docker-gitlab
你还在为复杂的GitLab部署流程头疼吗?还在担心环境配置出错导致服务无法启动?本文将通过3个简单步骤,帮助你快速搭建稳定的容器化GitLab 18.5.1环境,无需专业运维知识,10分钟即可完成部署。读完本文你将获得:使用Docker Compose一键部署GitLab的完整流程、关键配置参数详解、常见问题解决方案,以及用户登录与基本操作指南。
准备工作
部署前需确保服务器满足以下条件:
- 操作系统:Linux(推荐Ubuntu 20.04+或CentOS 7+)
- 硬件配置:至少2核CPU、4GB内存、20GB磁盘空间
- 软件环境:已安装Docker 20.10+和Docker Compose 2.0+
- 网络要求:开放80、443、22端口(或自定义映射端口)
通过以下命令检查Docker环境:
docker --version && docker-compose --version
若未安装Docker,可使用官方脚本快速安装:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
步骤一:获取项目代码
首先克隆项目仓库到本地:
git clone https://gitcode.com/gh_mirrors/do/docker-gitlab.git
cd docker-gitlab
项目结构中,核心配置文件包括:
- docker-compose.yml:定义服务组合配置
- entrypoint.sh:容器启动入口脚本
- docs/:包含详细文档和配置示例
- assets/runtime/config/:运行时配置模板目录
步骤二:配置关键参数
使用文本编辑器打开docker-compose.yml文件,重点修改以下参数:
- 访问地址配置:
GITLAB_HOST: your-domain.com # 替换为实际域名或服务器IP
GITLAB_PORT: 10080 # HTTP访问端口
GITLAB_SSH_PORT: 10022 # SSH访问端口
- 安全密钥设置:
GITLAB_SECRETS_DB_KEY_BASE: long-and-random-alphanumeric-string
GITLAB_SECRETS_SECRET_KEY_BASE: long-and-random-alphanumeric-string
GITLAB_SECRETS_OTP_KEY_BASE: long-and-random-alphanumeric-string
可使用以下命令生成随机密钥:
pwgen -Bsv1 64 3 # 生成3个64位随机字符串
- 时区配置:
TZ: Asia/Shanghai
GITLAB_TIMEZONE: Beijing
步骤三:启动服务
执行以下命令启动GitLab服务:
docker-compose up -d
首次启动需要初始化数据库和配置,可能需要3-5分钟。可通过以下命令查看启动日志:
docker-compose logs -f gitlab
当日志中出现"GitLab is running"时,表示服务启动成功。此时访问http://服务器IP:10080即可打开GitLab登录页面。
登录与初始设置
首次登录
- 打开浏览器访问GitLab页面,首次登录需要设置管理员密码
- 使用用户名
root和设置的密码登录系统 - 登录后系统会引导完成初始配置,包括用户信息、头像设置等
基本操作指南
创建第一个项目:
- 点击页面顶部"+"图标,选择"New project"
- 填写项目名称、描述,选择可见性级别
- 点击"Create project"完成创建
项目创建后,可通过以下URL克隆代码库:
git clone http://your-domain.com:10080/root/your-project.git
高级配置选项
启用HTTPS
- 创建SSL证书目录并放置证书文件:
mkdir -p ./data/certs
cp your-cert.crt ./data/certs/gitlab.crt
cp your-key.key ./data/certs/gitlab.key
- 修改docker-compose.yml启用HTTPS:
GITLAB_HTTPS: true
SSL_SELF_SIGNED: false # 若使用自签名证书设为true
- 添加HTTPS端口映射:
ports:
- "10080:80"
- "10443:443" # 添加HTTPS端口
- "10022:22"
配置邮件服务
编辑docker-compose.yml添加SMTP配置:
SMTP_ENABLED: true
SMTP_DOMAIN: smtp.example.com
SMTP_HOST: smtp.example.com
SMTP_PORT: 587
SMTP_USER: your-email@example.com
SMTP_PASS: your-email-password
SMTP_STARTTLS: true
GITLAB_EMAIL: your-email@example.com
GITLAB_EMAIL_REPLY_TO: noreply@example.com
数据备份与恢复
创建备份
docker-compose exec gitlab gitlab-rake gitlab:backup:create
备份文件默认保存在./data/backups目录下。
恢复备份
# 停止相关服务
docker-compose stop sidekiq
docker-compose stop unicorn
# 执行恢复命令
docker-compose exec gitlab gitlab-rake gitlab:backup:restore BACKUP=备份文件名前缀
# 重启服务
docker-compose restart
常见问题解决
1. 服务启动后无法访问
检查端口是否开放:
netstat -tulpn | grep -E '10080|10022'
检查防火墙设置:
sudo ufw allow 10080/tcp
sudo ufw allow 10022/tcp
2. 忘记管理员密码
重置root密码:
docker-compose exec gitlab gitlab-rails console
user = User.where(id: 1).first
user.password = 'new-password'
user.save!
exit
3. 存储空间不足
扩展数据卷大小:
- 停止服务:
docker-compose down - 调整数据卷大小(取决于存储驱动)
- 重启服务:
docker-compose up -d
管理界面预览
成功登录后,GitLab管理界面如下所示:
创建用户时的管理界面:
总结与后续优化
通过以上3个步骤,你已成功部署GitLab 18.5.1容器化环境。为提升生产环境稳定性,建议进一步进行以下优化:
- 配置外部数据库:参考Database配置文档使用独立PostgreSQL服务器
- 启用SSL/TLS:按照本文高级配置部分设置HTTPS
- 实现自动化备份:配置定时任务执行备份命令
- 监控服务状态:集成Prometheus和Grafana监控GitLab性能
更多高级配置选项可参考官方文档:项目README和详细配置指南。如有问题,可提交issue到项目仓库获取支持。
【免费下载链接】docker-gitlab Dockerized GitLab 项目地址: https://gitcode.com/gh_mirrors/do/docker-gitlab
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考





