您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 基于Docker怎么部署GitLab环境
## 前言
GitLab 是一个功能强大的开源代码托管平台,提供代码管理、CI/CD、问题跟踪等功能。使用 Docker 部署 GitLab 可以快速搭建环境,避免复杂的依赖问题。本文将详细介绍如何通过 Docker 部署 GitLab 服务。
---
## 一、准备工作
### 1. 系统要求
- Linux 服务器(推荐 Ubuntu/CentOS)
- 已安装 Docker 和 Docker Compose
- 至少 4GB 内存(GitLab 内存需求较高)
- 20GB 以上磁盘空间
### 2. 安装 Docker
若未安装 Docker,可执行以下命令:
```bash
# Ubuntu
sudo apt update && sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker
# CentOS
sudo yum install -y docker docker-compose
sudo systemctl enable --now docker
docker pull gitlab/gitlab-ce:latest
mkdir -p /srv/gitlab/{config,data,logs}
docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
参数说明:
- --hostname
: 设置访问域名
- --volume
: 挂载数据卷实现持久化
- --restart always
: 容器自动重启
首次启动需要 2-5 分钟初始化,可通过日志查看进度:
docker logs -f gitlab
访问 http://服务器IP
,首次登录需重置 root 密码(至少 8 字符)。
编辑 /srv/gitlab/config/gitlab.rb
添加邮件配置:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "user@example.com"
gitlab_rails['smtp_password'] = "password"
重启容器生效:
docker restart gitlab
docker-compose.yml
version: '3'
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com'
ports:
- "80:80"
- "443:443"
- "22:22"
volumes:
- /srv/gitlab/config:/etc/gitlab
- /srv/gitlab/data:/var/opt/gitlab
- /srv/gitlab/logs:/var/log/gitlab
docker-compose up -d
docker exec -t gitlab gitlab-backup create
docker stop gitlab
docker rm gitlab
docker pull gitlab/gitlab-ce:latest
# 重新运行启动命令
通过 docker stats
查看资源占用情况:
CONTNER ID NAME CPU % MEM USAGE / LIMIT
c3f01b5e5c5a gitlab 2.3% 2.1GiB / 3.8GiB
502 错误
无法发送邮件
磁盘空间不足
sudo gitlab-ctl cleanup
通过 Docker 部署 GitLab 极大简化了安装流程,且便于迁移和升级。建议生产环境配合 Nginx 反向代理和 HTTPS 证书使用。如需更高性能,可参考官方文档配置 PostgreSQL 和 Redis 独立容器。 “`
提示:实际部署时请将
gitlab.example.com
替换为您的真实域名,并确保服务器防火墙开放了 80⁄443 端口。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。