1、创建Docker目录
sudo mkdir /Docker
2、创建docker-compose.yml文件
services: gitlab: image: gitlab/gitlab-ce:latest # 上服务器时建议固定版本号,如 gitlab/gitlab-ce:17.11.0-ce.0 container_name: gitlab restart: unless-stopped hostname: gitlab.leon # 测试域名,宿主机 hosts 里加一条指向虚拟机 IP shm_size: 256m environment: GITLAB_OMNIBUS_CONFIG: | ######################################################################## # 【访问地址】GitLab 对外暴露的完整 URL # 决定页面上显示的 clone 地址、webhook 回调地址;http 还是 https 也由它决定 # 测试期用 http://gitlab.local(宿主机 hosts 绑定虚拟机 IP) # 上服务器有域名后改成 'https://gitlab.你的域名.com' ######################################################################## external_url 'http://gitlab.leon' ######################################################################## # 【SSH 端口】容器内 gitlab-shell 走 22,但宿主机 22 被 docker 映射成 2222 # 此参数让页面上显示的 SSH clone 地址自动带上 2222 端口 # 效果:ssh://git@gitlab.local:2222/组名/仓库.git ######################################################################## gitlab_rails['gitlab_shell_ssh_port'] = 2222 ######################################################################## # 【时区】影响界面时间显示和日志时间戳,统一成东八区 ######################################################################## gitlab_rails['time_zone'] = 'Asia/Shanghai' #======================================================================= # 以下为【可选功能】,需要时取消注释即可(改完 docker compose up -d 生效) #======================================================================= #----------------------------------------------------------------------- # 【内置监控栈】GitLab 自带的 Prometheus + Grafana + Alertmanager 等 # 监控对象是 GitLab 自身健康度(队列延迟、DB 连接、Sidekiq 堆积),不监控业务 # 默认关闭省约 1G 内存;想看 GitLab 运行指标时取消下行注释 #----------------------------------------------------------------------- # prometheus_monitoring['enable'] = true #----------------------------------------------------------------------- # 【HTTPS 证书】external_url 写 https 时使用,自动向 Let's Encrypt 申请 # 前提:域名公网可达、80/443 端口开放。测试期不用开 #----------------------------------------------------------------------- # letsencrypt['enable'] = true # letsencrypt['contact_emails'] = ['你的邮箱@example.com'] #----------------------------------------------------------------------- # 【HTTPS 手动证书】如果用自己买的证书(非 Let's Encrypt),放这里 # 上服务器后二选一:要么 letsencrypt 自动签,要么手动指定证书路径 #----------------------------------------------------------------------- # nginx['ssl_certificate'] = '/etc/gitlab/ssl/gitlab.crt' # nginx['ssl_certificate_key'] = '/etc/gitlab/ssl/gitlab.key' #----------------------------------------------------------------------- # 【邮件】GitLab 发通知邮件(找回密码、CI 结果、成员邀请)用的 SMTP # 不配则这些邮件一律发不出去;用 QQ/163 邮箱开 SMTP 即可 #----------------------------------------------------------------------- # gitlab_rails['smtp_enable'] = true # gitlab_rails['smtp_address'] = 'smtp.qq.com' # gitlab_rails['smtp_port'] = 465 # gitlab_rails['smtp_user_name'] = '你的邮箱@qq.com' # gitlab_rails['smtp_password'] = 'SMTP授权码(不是邮箱密码)' # gitlab_rails['smtp_domain'] = 'smtp.qq.com' # gitlab_rails['smtp_authentication'] = 'login' # gitlab_rails['smtp_enable_starttls_auto'] = false # gitlab_rails['smtp_tls'] = true # gitlab_rails['gitlab_email_from'] = '你的邮箱@qq.com' # gitlab_rails['gitlab_email_display_name'] = 'GitLab' #----------------------------------------------------------------------- # 【备份】自动备份配置 # backup_keep_time:备份文件保留秒数,604800 = 7 天 # 备份目录:./gitlab/data/backups/(随 data 卷一起持久化) # 手动触发备份命令:docker exec gitlab gitlab-backup create # 恢复命令:docker exec gitlab gitlab-backup restore BACKUP=备份文件时间戳 #----------------------------------------------------------------------- gitlab_rails['backup_keep_time'] = 604800 #----------------------------------------------------------------------- # 【注册开关】是否允许任何人自行注册账号 # 测试期和上线后都建议关掉,账号由管理员在后台创建 #----------------------------------------------------------------------- # gitlab_rails['gitlab_signup_enabled'] = false #----------------------------------------------------------------------- # 【HTTPS 强制跳转】external_url 是 https 时,http 进来的请求是否 301 到 https #----------------------------------------------------------------------- # nginx['redirect_http_to_https'] = true #----------------------------------------------------------------------- # 【性能调优】并发 worker 数,默认按内存自动计算 # 小内存机器(如 4G)可手动调低缓解内存压力;16G 不用动 #----------------------------------------------------------------------- # puma['worker_processes'] = 2 # sidekiq['concurrency'] = 10 ports: - "80:80" - "443:443" - "2222:22" # 刻意避开宿主机 22 volumes: - ./gitlab/config:/etc/gitlab - ./gitlab/logs:/var/log/gitlab - ./gitlab/data:/var/opt/gitlab networks: - timeless networks: timeless: name: timeless driver: bridge
4、获取密码(默认帐号root)
docker exec gitlab cat /etc/gitlab/initial_root_password
5、本地网络配置hosts
将gitlab.leon 映射到安装gitlab的服务器ip 192.168.20.140 gitlab.leon
5、web浏览器访问
http://gitlab.leon/
Docker安装gitlab
| Title | Docker安装gitlab |
|---|---|
| Framework | Docker |
| User | wy8817399@vip.qq.com |
| Id | 97 |
| Created | 10/1/26, 1:36 AM |
| Modified | 10/4/26, 3:35 AM |
| Published | Yes |
Content