
sameersbn/gitlabsameersbn/gitlab是一个基于Dockerfile构建的GitLab镜像,用于在Docker开源容器平台上部署GitLab。GitLab是一个集成了代码仓库管理、CI/CD、项目管理、协作工具等功能的一站式DevOps平台,该镜像提供了容器化部署方式,简化了GitLab的安装与管理流程。
bashdocker pull sameersbn/gitlab
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
容器启动后,通过http://<主机IP>或https://<主机IP>访问GitLab Web界面,首次登录需设置管理员密码。
创建docker-compose.yml文件,配置GitLab与依赖服务(如PostgreSQL、Redis,根据实际需求添加):
yamlversion: '3' services: gitlab: image: 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 '[***] 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-ctl reconfigure使配置生效(容器内执行)
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务