Docker GitLab的安装完整配置项说明教程
作者:Microi风闲
这篇文章主要为大家详细介绍了Docker GitLab的安装完整配置项说明教程,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
1. 基础运行配置
docker run -d \ --name gitlab \ --restart always \ --hostname gitlab.example.com \ # GitLab 访问域名,必须设置 -p 8443:443 \ # HTTPS 端口映射 -p 8080:80 \ # HTTP 端口映射 -p 8022:22 \ # SSH 端口映射 --shm-size 256m \ # 共享内存大小,防止内存不足 gitlab/gitlab-ce:latest
2. 数据持久化配置
docker run -d \ # ... 其他参数 ... -v /srv/gitlab/config:/etc/gitlab \ # 配置文件持久化 -v /srv/gitlab/logs:/var/log/gitlab \ # 日志文件持久化 -v /srv/gitlab/data:/var/opt/gitlab \ # 应用数据持久化 gitlab/gitlab-ce:latest
3. 完整配置示例
docker run -d \ --name gitlab \ --restart always \ --hostname gitlab.example.com \ # 端口映射 -p 8080:80 \ # Web 访问端口 -p 8443:443 \ # HTTPS 端口 -p 8022:22 \ # Git SSH 端口 # 数据卷映射 -v /docker/gitlab/config:/etc/gitlab \ -v /docker/gitlab/logs:/var/log/gitlab \ -v /docker/gitlab/data:/var/opt/gitlab \ # 内存和资源限制 --shm-size 256m \ --memory 4096m \ # 限制内存使用 --cpus 2 \ # 限制 CPU 核心数 # 环境变量配置 -e GITLAB_OMNIBUS_CONFIG="external_url 'https://gitlab.example.com'; gitlab_rails['gitlab_shell_ssh_port'] = 8022;" \ gitlab/gitlab-ce:latest
4. 环境变量配置项
基础配置
# 外部访问 URL(必须) -e EXTERNAL_URL="https://gitlab.example.com" # 时区设置 -e GITLAB_TIME_ZONE="Asia/Shanghai" 邮件配置 bash -e GITLAB_OMNIBUS_CONFIG=" gitlab_rails['smtp_enable'] = true; gitlab_rails['smtp_address'] = 'smtp.gmail.com'; gitlab_rails['smtp_port'] = 587; gitlab_rails['smtp_user_name'] = 'your-email@gmail.com'; gitlab_rails['smtp_password'] = 'your-password'; gitlab_rails['smtp_domain'] = 'gmail.com'; gitlab_rails['smtp_authentication'] = 'login'; gitlab_rails['smtp_enable_starttls_auto'] = true; gitlab_rails['smtp_tls'] = false; gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'; " 数据库配置 bash # 使用外部 PostgreSQL -e GITLAB_OMNIBUS_CONFIG=" gitlab_rails['db_adapter'] = 'postgresql'; gitlab_rails['db_encoding'] = 'unicode'; gitlab_rails['db_host'] = 'postgresql'; gitlab_rails['db_port'] = '5432'; gitlab_rails['db_username'] = 'gitlab'; gitlab_rails['db_password'] = 'password'; " Redis 配置 bash # 使用外部 Redis -e GITLAB_OMNIBUS_CONFIG=" gitlab_rails['redis_host'] = 'redis'; gitlab_rails['redis_port'] = '6379'; "
5. 高级配置选项
SSL 证书配置
# 挂载 SSL 证书 -v /path/to/ssl:/etc/gitlab/ssl -e GITLAB_OMNIBUS_CONFIG=" external_url 'https://gitlab.example.com'; nginx['redirect_http_to_https'] = true; nginx['ssl_certificate'] = '/etc/gitlab/ssl/gitlab.example.com.crt'; nginx['ssl_certificate_key'] = '/etc/gitlab/ssl/gitlab.example.com.key'; " 备份配置 bash # 备份目录挂载 -v /backup/gitlab:/var/opt/gitlab/backups # 备份设置 -e GITLAB_OMNIBUS_CONFIG=" gitlab_rails['backup_path'] = '/var/opt/gitlab/backups'; gitlab_rails['backup_keep_time'] = 604800; # 保留7天 " 性能调优 bash -e GITLAB_OMNIBUS_CONFIG=" # 工作进程数 unicorn['worker_processes'] = 2; # Sidekiq 并发数 sidekiq['concurrency'] = 10; # 数据库连接池大小 gitlab_rails['db_pool'] = 10; # Redis 连接池 gitlab_rails['redis_cache_database'] = 0; "
6. Docker Compose 完整示例
version: '3.8'
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.example.com'
gitlab_rails['gitlab_shell_ssh_port'] = 8022
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-email@gmail.com"
gitlab_rails['smtp_password'] = "your-password"
gitlab_rails['smtp_domain'] = "gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
ports:
- "8080:80"
- "8443:443"
- "8022:22"
volumes:
- ./gitlab/config:/etc/gitlab
- ./gitlab/logs:/var/log/gitlab
- ./gitlab/data:/var/opt/gitlab
- ./backup:/var/opt/gitlab/backups
shm_size: '256m'
mem_limit: 4g
cpus: 2.0
7. 重要注意事项
- 首次启动需要耐心等待(5-10分钟)
- 确保挂载目录有正确权限
hostname必须与访问域名一致- 备份数据卷非常重要
- 生产环境建议配置资源限制
这个配置清单涵盖了 GitLab Docker 安装的主要配置项,你可以根据实际需求进行调整。
到此这篇关于Docker GitLab的安装完整配置项说明教程的文章就介绍到这了,更多相关Docker安装配置GitLab内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
