尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Ubuntu 22.04 LTS 安装 gitlab

Ubuntu 22.04 LTS 安装 gitlab
📅 发布时间:2026/6/21 16:00:20

ubuntu 22.04 安装 gitlab

1. 前置条件

  。已安装 Docker(建议 20.10 + 版本)和 Docker Compose(可选,用于简化配置)。。服务器至少 4GB 内存(生产环境建议 8GB+,否则可能因内存不足启动失败)。。开放必要端口:80(HTTP)、443(HTTPS)、22(SSH,若需通过 SSH 访问仓库)。

2. 安装 Docker(若未安装):

 sudo apt update && sudo apt install -y docker.io docker-compose-pluginsudo systemctl enable --now dockersudo usermod -aG docker $USER  # 非root用户添加docker权限(需重启生效)

步骤 1:准备数据持久化目录

 # 创建宿主机目录(可自定义路径,建议放在大磁盘下)sudo mkdir -p /data/gitlab/{config,data,logs}# 设置权限(避免容器内进程无权限读写,GitLab容器内默认用户ID为998)sudo chmod -R 777 /data/gitlab  # 简单粗暴(测试环境可用)# 生产环境建议更精细:sudo chown -R 998:998 /data/gitlab

步骤 2:启动 GitLab 容器

方式 1:直接用docker run命令

一行命令启动,适合快速测试:

docker run --detach \--hostname gitlab.example.com  # 替换为你的域名或服务器IP(如192.168.1.100)\--publish 80:80 \               # 宿主机80端口映射到容器80(HTTP)--publish 443:443 \             # 宿主机443端口映射到容器443(HTTPS,若需)--publish 2222:22 \             # 宿主机2222端口映射到容器22(SSH,避免与宿主机22冲突)--name gitlab \                 # 容器名称--restart always \              # 开机自启--volume /data/gitlab/config:/etc/gitlab \  # 配置文件挂载--volume /data/gitlab/data:/var/opt/gitlab \ # 数据挂载--volume /data/gitlab/logs:/var/log/gitlab \ # 日志挂载gitlab/gitlab-ce:latest         # 官方社区版镜像(latest为最新版,可指定版本如16.0.0-ce.0)

方式 2:用 Docker Compose(推荐,便于管理)

1.创建docker-compose.yml文件:

version: '3.8'
services:gitlab:image: gitlab/gitlab-ce:latestcontainer_name: gitlabrestart: alwayshostname: gitlab.example.com  # 替换为你的域名/IPenvironment:# 核心配置:外部访问URL(必须设置,否则页面跳转异常)GITLAB_OMNIBUS_CONFIG: |external_url 'http://gitlab.example.com'  # 替换为你的URL(http/https)# 若需SSH访问,指定SSH端口(与宿主机映射的端口一致)gitlab_rails['gitlab_shell_ssh_port'] = 2222ports:- "80:80"       # HTTP- "443:443"     # HTTPS- "2222:22"     # SSHvolumes:- /data/gitlab/config:/etc/gitlab- /data/gitlab/data:/var/opt/gitlab- /data/gitlab/logs:/var/log/gitlab# 可选:限制资源(避免GitLab占用过多内存)deploy:resources:limits:cpus: '2'memory: 8G

2.启动容器:

docker compose up -d  # 后台启动

步骤 3:首次访问与配置

1.等待启动完成:

GitLab 启动较慢(首次需初始化数据库等),可通过日志查看进度:

docker logs -f gitlab  # 实时查看日志,出现"gitlab Reconfigured!"即启动完成

2.访问 GitLab:

浏览器打开你设置的external_url(如http://192.168.1.100),首次访问会提示设置root用户的密码(需牢记)。

3.登录:

输入root用户名和刚才设置的密码,即可进入 GitLab 控制台。

关键配置说明

1.修改外部 URL:

若需修改访问地址,编辑/data/gitlab/config/gitlab.rb(宿主机目录):

sudo vim /data/gitlab/config/gitlab.rb

找到并修改:

external_url 'http://新的域名或IP'
gitlab_rails['gitlab_shell_ssh_port'] = 2222  # 若SSH端口变更

然后进入容器执行重新配置:

docker exec -it gitlab gitlab-ctl reconfigure

2.配置 HTTPS:

需提前准备 SSL 证书(如server.crt和server.key),将证书放到宿主机/data/gitlab/config/ssl/目录,然后修改gitlab.rb:

external_url 'https://gitlab.example.com'
nginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key"

重新配置生效。

3.邮件通知:

编辑gitlab.rb配置 SMTP(以 QQ 邮箱为例):

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "你的QQ邮箱@qq.com"
gitlab_rails['smtp_password'] = "邮箱授权码"  # 非登录密码,需在邮箱设置中获取
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "你的QQ邮箱@qq.com"

注意事项

1.端口冲突:若宿主机 80/443/22 端口已被占用,需修改映射端口(如-p 8080:80将宿主机 8080 映射到容器 80),同时更新external_url(如http://ip:8080)。
2.内存不足:若启动失败或频繁崩溃,检查内存是否≥4GB,可通过free -h查看,不足时建议增加内存或启用 Swap。
3.数据备份:直接备份宿主机/data/gitlab目录即可(tar -zcvf gitlab_backup.tar.gz /data/gitlab)。
4.版本更新:停止容器→删除容器→拉取新镜像→重新启动(数据目录不变则数据保留)。

相关新闻

  • SecureCRT 9.6.4 中文便携+绿色版 - 终端工具
  • Day28-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\IPDemo\BSDemo+TCP
  • Elasticsearch命令执行增删改查

最新新闻

  • 0622晨间日记
  • 国产GPU实现大模型Day-0推理:摩尔线程SGLang-MUSA深度解析
  • import/export不是语法糖:JavaScript模块系统底层原理
  • 网盘下载速度慢怎么办?从PanDownload解析到kdown实测
  • 【飞机】自主无人机飞行稳定和轨迹跟踪Matlab实现
  • Nginx平滑升级实战:零中断热替换二进制原理与落地

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号