sameersbn/gitlab Docker 镜像
sameersbn查看 Docker Hub 原文页
自动构建
用于在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. 拉取镜像
bashdocker pull docker.xuanyuan.run/sameersbn/gitlab
2. 启动容器(基础配置)
bashdocker 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,根据实际需求添加):
yamlversion: '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
启动服务:
bashdocker-compose up -d
配置参数说明
核心环境变量
| 环境变量 | 说明 |
|---|---|
GITLAB_OMNIBUS_CONFIG | 用于注入GitLab配置(对应gitlab.rb文件内容),支持多行配置 |
DB_HOST | 外部数据库主机地址(若使用外部PostgreSQL,默认使用内置数据库) |
DB_USER | 数据库用户名 |
DB_PASSWORD | 数据库密码 |
REDIS_HOST | Redis服务器地址(若使用外部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
sameersbn 命名空间的其他可用镜像:
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
DockerHub 原生拉取命令
docker pull sameersbn/gitlab:<标签>
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务