服务器 | 2026年Ubuntu 24.04下GitLab Docker 企业级部署

文章目录

概要

GitLab 代码库平台

  • GitLab 是一个基于 Git 的 开源代码托管DevOps 平台
  • 提供从代码管理持续集成与部署(CI/CD)到项目协作的一站式解决方案。

注:

  • GitLab本身提供CI/CD功能
  • 也可以集成 Jenkins 这把高度灵活的"瑞士军刀",实现高级定制,以便处理高复杂度的流水线。

话不多说,直接进入环境准备流程。GO、GO、GO......

一、环境准备

系统要求:

  • Ubuntu 24.04.3 LTS,尽量上最新的长期支持版。
  • 至少4GB内存(推荐8GB以上)
  • 20GB以上可用磁盘空间

以下都是使用 VMware虚拟机 进行测试,主打的就是方便。

当然,如果您是土豪。云主机、新电脑 随意发挥。

二、安装Docker和Docker Compose

简单介绍一下二者:

  • Docker 开源的容器化平台
    • 核心是让你能够将应用及其所有依赖(如代码、运行时、系统库 等)打包进容器中。
  • Docker Compose 定义和运行多容器 Docker 应用 的工具。
    • 部署一个包含 Web 服务器、后端应用和数据库的完整服务时,Docker Compose 通过 YAML 配置文件来实现。
    • 称之为:编排部署

1、一键替换为国内镜像源

bash 复制代码
# 1. 先备份原有的源配置文件(以防万一)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# 2. 将官方源替换为阿里云镜像源
# 注意:如果你是 Ubuntu 24.04,这里的 noble 正好对应;如果是其他版本,可能需要调整代号
sudo sed -i 's|http://.*archive.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list

sudo sed -i 's|http://.*security.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list

2、安装必要依赖

bash 复制代码
# 1、更新软件源
sudo apt-get update

# 2、安装三个用于安全下载和验证软件来源的必要工具
sudo apt-get install -y ca-certificates curl gnupg

3、添加 Docker 官方 GPG 密钥

bash 复制代码
# 1、以管理员权限创建一个用于存放 GPG 公钥的专用目录
sudo install -m 0755 -d /etc/apt/keyrings

# 2、将 Docker 官方的 GPG 公钥下载并转换格式,存入刚创建的目录
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 3、确保系统中的所有用户,都有权限读取密钥文件
sudo chmod a+r /etc/apt/keyrings/docker.gpg

4、 设置 Docker APT 仓库

bash 复制代码
# 写入了系统的软件源配置文件
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5、安装 Docker Engine

bash 复制代码
# 1、更新软件
sudo apt-get update

# 2、安装Docker 社区版引擎、命令行界面、命令行界面、构建工具插件、docker-compose-plugin
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 3、查看docker版本
docker --version

三、创建GitLab部署目录

bash 复制代码
# 1、
sudo mkdir -p /srv/gitlab/{config,logs,data}

四、编写Docker Compose配置文件

yaml 复制代码
services:
  gitlab:
    image: gitlab/gitlab-ce:latest # 使用 GitLab 社区版最新镜像
    container_name: gitlab
    restart: always
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://你的服务器IP或域名' # 替换为你的服务器IP或域名
        gitlab_rails['gitlab_ssh_host'] = '服务器IP'
        # 如果你的服务器SSH端口不是22,需要在这里指定Git SSH端口
        gitlab_rails['git_ssh_port'] = 2222
        
    ports:
      - '80:80'   # HTTP 访问
      - '443:443' # HTTPS 访问
      - '2222:22'   # SSH 访问 (如果冲突,可改为 '2222:22')
    volumes:
      - /srv/gitlab/config:/etc/gitlab   # 配置文件
      - /srv/gitlab/logs:/var/log/gitlab   # 日志文件
      - /srv/gitlab/data:/var/opt/gitlab # 应用数据
    shm_size: '256m' # 共享内存大小,有助于避免某些错误

五、启动GitLab服务

bash 复制代码
# 1、启动 GitLab
docker compose up -d

# 2、查看启动日志
docker compose logs -f gitlab

# 3、检查容器状态
docker ps

# 4、等待服务完全启动(首次启动需要3-5分钟)
watch -n 5 'docker ps | grep gitlab'

六、获取初始密码并登录

GitLab 首次启动后会自动生成一个管理员 root 的初始密码。

bash 复制代码
# 宿主机上执行以下命令查看初始密码
docker compose exec gitlab grep 'Password:' /etc/gitlab/initial_root_password

访问你在 external_url 中配置的地址。

常用运维命令

bash 复制代码
# 查看容器状态
docker ps -a | grep gitlab

# 查看实时日志
docker logs -f gitlab

# 进入容器bash
docker exec -it gitlab /bin/bash

# 重启GitLab服务
docker exec -it gitlab gitlab-ctl restart

# 停止服务
docker-compose down

# 备份数据
docker exec -it gitlab gitlab-backup create

# 查看备份文件
ls -lh data/backups/

总结

截止目前,成功在Ubuntu 24.04.3上部署了GitLab CE。

Docker部署方式具有环境隔离、易于迁移和版本控制等优势。

各位再见!这里是 鳄鱼杆的空间 ,钓......鳄鱼的杆儿!

期待下次再会!

愿你的每一次垂钓之旅都能满载而归。

相关推荐
不会调制解调的猫7 小时前
笔记 | 什么是 rp_filter(反向路径过滤)?
服务器·网络·笔记
问简7 小时前
【共享盘】ubuntu、windows
linux·windows·ubuntu
网络小白不怕黑8 小时前
10.邮件服务器搭建并脚本实现监控httpd状态
linux·运维·服务器
CN_HW9 小时前
Nginx 流量镜像配置文档-双轨国产化
服务器·前端·网络
jsons111 小时前
rocky8内网离线批量补丁(你之前搭建的架构,多台服务器首选,无订阅)
linux·运维·服务器
进击切图仔11 小时前
SAM3 微调标注流水线和 Label Studio
java·服务器·前端
Bomangedd11 小时前
NSK RA25BN 滚子直线导轨技术详解
运维·服务器·经验分享·规格说明书
zhou1352848226711 小时前
Windows 配置 WSL (Ubuntu) 环境完整指南
linux·windows·ubuntu
本尊是喵12 小时前
AutoDL--FileZilla--VS Code远程连接
运维·服务器
网络小白不怕黑12 小时前
11.虚拟机模拟路由器实验
linux·运维·服务器·网络