gitlab

sameersbn/gitlab Docker 镜像

自动构建

用于在Docker开源容器平台上构建GitLab镜像的Dockerfile。

1.2千 次收藏下载次数: 0状态:自动构建维护者:sameersbn仓库类型:镜像最近更新:9 天前
下载命令
点击查看

sameersbn/gitlab 镜像文档

镜像概述

sameersbn/gitlab是一个基于Dockerfile构建的GitLab镜像,用于在Docker开源容器平台上部署GitLab。GitLab是一个集成了代码仓库管理、CI/CD、项目管理、协作工具等功能的一站式DevOps平台,该镜像提供了容器化部署方式,简化了GitLab的安装与管理流程。

核心功能与特性

GitLab核心功能

  • Git仓库管理:完整支持Git版本控制,提供仓库创建、分支管理、合并请求(Merge Request)等功能
  • 用户认证与授权:支持多种认证方式(如LDAP、OAuth),细粒度的权限控制(项目级、组级权限管理)
  • CI/CD流水线:内置持续集成/持续部署功能,支持自动化构建、测试、部署流程配置
  • 项目协作工具:包含Issue跟踪、任务管理、里程碑规划、Wiki文档、讨论区等协作功能
  • 集成生态:支持与第三方工具集成(如JIRA、Jenkins、Slack等)

Docker镜像特性

  • 容器化部署:基于Docker容器运行,隔离性强,部署流程标准化
  • 配置灵活:支持通过环境变量或配置文件自定义GitLab参数
  • 数据持久化:支持挂载外部卷(Volume)存储GitLab数据(仓库文件、日志、配置等)
  • 跨平台兼容:适配Docker支持的各类操作系统(Linux、macOS、Windows等)

使用场景与适用范围

适用场景

  • 开发团队部署内部GitLab实例,用于代码托管与版本控制
  • 企业或组织搭建私有DevOps平台,集成代码管理、协作开发与自动化部署流程
  • 教学或测试环境中快速部署GitLab,用于演示或学习GitLab功能

适用范围

  • 中小企业或开发团队内部使用
  • 需要私有化部署代码仓库的场景
  • 对DevOps流程有集成需求的团队

使用方法与配置说明

前提条件

  • 已安装Docker Engine(推荐版本20.10+)
  • 已安装Docker Compose(可选,用于多容器部署)
  • 服务器满足GitLab最低资源要求(建议2核CPU、4GB内存、20GB以上存储空间)

基本使用方法

1. 拉取镜像

bash
docker pull docker.xuanyuan.run/sameersbn/gitlab

2. 启动容器(基础配置)

bash
docker run --name gitlab -d \
  --publish 80:80 --publish 443:443 --publish 22:22 \
  --volume /srv/gitlab/data:/var/opt/gitlab \  # 存储GitLab数据(仓库、数据库等)
  --volume /srv/gitlab/logs:/var/log/gitlab \  # 存储日志文件
  --volume /srv/gitlab/config:/etc/gitlab \    # 存储配置文件
  sameersbn/gitlab

3. 访问GitLab

容器启动后,通过http://<主机IP>或https://<主机IP>访问GitLab Web界面,首次登录需设置管理员密码。

高级配置(docker-compose示例)

创建docker-compose.yml文件,配置GitLab与依赖服务(如PostgreSQL、Redis,根据实际需求添加):

yaml
version: '3'

services:
  gitlab:
    image: docker.xuanyuan.run/sameersbn/gitlab
    container_name: gitlab
    ports:
      - "80:80"
      - "443:443"
      - "22:22"
    volumes:
      - /srv/gitlab/data:/var/opt/gitlab
      - /srv/gitlab/logs:/var/log/gitlab
      - /srv/gitlab/config:/etc/gitlab
    environment:
      - GITLAB_OMNIBUS_CONFIG= |
        external_url 'http://gitlab.example.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 22
        # 其他自定义配置(如SMTP、LDAP等)参考GitLab官方文档
    restart: always

启动服务:

bash
docker-compose up -d

配置参数说明

核心环境变量

环境变量说明
GITLAB_OMNIBUS_CONFIG用于注入GitLab配置(对应gitlab.rb文件内容),支持多行配置
DB_HOST外部数据库主机地址(若使用外部PostgreSQL,默认使用内置数据库)
DB_USER数据库用户名
DB_PASSWORD数据库密码
REDIS_HOSTRedis服务器地址(若使用外部Redis,默认使用内置Redis)
SMTP_*SMTP邮件配置(如SMTP_HOST、SMTP_PORT、SMTP_USER等,用于发送邮件)

数据卷挂载建议

挂载路径作用建议
/var/opt/gitlab存储GitLab核心数据(仓库、数据库文件等)必须挂载,确保数据持久化
/var/log/gitlab存储GitLab日志文件建议挂载,便于日志查看与管理
/etc/gitlab存储GitLab配置文件建议挂载,便于修改配置并持久化

注意事项

  • 首次启动镜像可能需要数分钟初始化GitLab服务,请耐心等待
  • 生产环境建议使用外部数据库(PostgreSQL)和Redis,提高性能与可靠性
  • 配置修改后需重启容器或执行gitlab-ctl reconfigure使配置生效(容器内执行)
  • 详细配置与高级用法请参考https://github.com/sameersbn/docker-gitlab/blob/master/README.md

参考链接

  • https://docs.gitlab.com/
  • https://github.com/sameersbn/docker-gitlab

镜像拉取方式

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

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

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

DockerHub 原生拉取命令

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