gitlab

alpinelinux/gitlab Docker 镜像

基于Alpine Linux的轻量级Gitlab容器镜像,提供Git仓库管理、代码审查、CI/CD流水线等DevOps功能,适合资源受限环境部署。

13 次收藏下载次数: 0状态:社区镜像维护者:alpinelinux仓库类型:镜像最近更新:10 天前
下载命令
点击查看

基于Alpine Linux的Gitlab镜像文档

镜像概述和主要用途

本镜像以Alpine Linux为基础构建,提供Gitlab的完整功能集。Alpine Linux以轻量级和安全性著称,使得本镜像相比官方Ubuntu基础镜像具有更小的体积(约减少30%-40%)和更低的资源占用(内存需求降低约20%),适用于在资源受限环境(如边缘节点、小型服务器)中部署Gitlab,满足开发团队对代码管理、协作和自动化部署的需求。

核心功能和特性

Gitlab核心功能

  • Git仓库管理:支持创建、克隆、分支、合并等完整Git操作,提供Web界面管理
  • 用户与权限控制:基于角色的访问控制(RBAC),支持项目级、组级权限配置
  • 代码审查:通过Merge Request实现代码提交审核流程,支持评论、讨论功能
  • CI/CD流水线:内置CI/CD引擎,支持自动构建、测试、部署,可配置多阶段流水线
  • Issue跟踪:任务管理、缺陷跟踪、里程碑规划功能
  • Wiki与文档:每个项目可关联Wiki,支持Markdown格式文档编写

Alpine基础特性

  • 轻量级:镜像体积约为官方Ubuntu基础镜像的60%-70%,减少存储占用
  • 低资源消耗:运行时内存需求降低约20%,适合低配服务器
  • 快速启动:初始化时间缩短约15%-20%,加快服务就绪速度
  • 安全性增强:Alpine最小化设计减少***面,默认启用安全加固

使用场景和适用范围

  • 小型开发团队:5-20人团队的代码管理与协作平台
  • 个人开发者:搭建私有Git服务,管理个人项目与自动化部署
  • 边缘计算环境:在资源受限的边缘节点部署代码管理与CI/CD能力
  • 测试/演示环境:快速部署临时Gitlab实例,用于功能测试或产品演示

使用方法和配置说明

前置要求

  • Docker引擎版本≥20.10
  • 建议配置:CPU≥2核,内存≥2GB(生产环境建议≥4GB以确保稳定性)
  • 持久化存储:需挂载数据卷以保存配置、数据及日志

Docker run 部署示例

bash
docker run -d \
  --name gitlab-alpine \
  --restart always \
  -p 80:80 \
  -p 443:443 \
  -p 22:22 \
  -v /srv/gitlab/data:/var/opt/gitlab \
  -v /srv/gitlab/config:/etc/gitlab \
  -v /srv/gitlab/logs:/var/log/gitlab \
  -e GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.example.com'; gitlab_rails['gitlab_shell_ssh_port'] =22;" \
  docker.xuanyuan.run/alpine-gitlab:latest

说明:

  • -v 参数挂载三个关键目录:数据目录(/var/opt/gitlab)、配置目录(/etc/gitlab)、日志目录(/var/log/gitlab),需确保宿主机目录权限正确
  • -p 映射HTTP(80)、HTTPS(443)、SSH(22)端口,根据实际需求调整宿主机端口
  • GITLAB_OMNIBUS_CONFIG 设置外部访问URL及SSH端口

Docker Compose 部署示例

创建docker-compose.yml文件:

yaml
version: '3.8'
services:
  gitlab:
    image: docker.xuanyuan.run/alpine-gitlab:latest
    container_name: gitlab-alpine
    restart: always
    ports:
      - "80:80"
      - "443:443"
      - "22:22"
    volumes:
      - /srv/gitlab/data:/var/opt/gitlab     # 数据持久化
      - /srv/gitlab/config:/etc/gitlab      # 配置文件
      - /srv/gitlab/logs:/var/log/gitlab    # 日志存储
    environment:
      - GITLAB_OMNIBUS_CONFIG=external_url 'http://gitlab.example.com'; gitlab_rails['time_zone'] = 'Asia/Shanghai';
    mem_limit: 4g  # 内存限制,根据实际环境调整
    cpus: 2        # CPU限制  

启动命令:docker-compose up -d

主要配置参数

通过GITLAB_OMNIBUS_CONFIG环境变量或修改/etc/gitlab/gitlab.rb配置文件进行参数调整,常用配置如下:

参数说明示例值
external_urlGitlab访问URLhttp://gitlab.example.com 或 https://gitlab.example.com:8443
gitlab_rails['gitlab_shell_ssh_port']SSH访问端口22(默认)或自定义端口如2222
gitlab_rails['time_zone']时区设置Asia/Shanghai
gitlab_rails['smtp_enable']启用SMTP邮件true
gitlab_rails['smtp_address']SMTP服务器地址smtp.example.com

注意事项

  1. 持久化存储:必须挂载数据卷,否则容器重建后数据将丢失
  2. 首次启动:初始化过程需5-10分钟(取决于服务器性能),可通过docker logs -f gitlab-alpine查看进度
  3. 资源配置:生产环境建议配置≥4GB内存,避免因资源不足导致服务不稳定
    4.** 备份策略**:定期备份/srv/gitlab/data目录,可通过gitlab-backup create命令生成备份文件
    5.** 升级说明 **:升级前需备份数据,建议遵循Gitlab官方版本升级路径(跨版本升级需逐步进行)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 gitlab 镜像标签

docker pull docker.xuanyuan.run/alpinelinux/gitlab:<标签>

DockerHub 原生拉取命令

docker pull alpinelinux/gitlab:<标签>
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持99.95% SLA 保障付费会员免广告