
本镜像基于https://github.com/sameersbn/docker-gitlab/tree/12.3.5%E5%92%8CGitLab%E4%B8%AD%E6%96%87%E7%A4%BE%E5%8C%BA%E7%89%8812.3.5-zh%E6%9E%84%E5%BB%BA%EF%BC%8C%E6%8F%90%E4%BE%9B%E5%85%A8%E4%B8%AD%E6%96%87%E7%95%8C%E9%9D%A2%E7%9A%84GitLab%E6%9C%8D%E5%8A%A1%E3%80%82GitLab%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E6%BA%90%E7%9A%84%E4%BB%A3%E7%A0%81%E4%BB%93%E5%BA%93%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0%EF%BC%8C%E6%94%AF%E6%8C%81%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6%E3%80%81%E4%BB%A3%E7%A0%81%E5%AE%A1%E6%9F%A5%E3%80%81CI/CD%E3%80%81issue%E8%B7%9F%E8%B8%AA%E7%AD%89%E5%8A%9F%E8%83%BD%EF%BC%8C%E9%80%82%E7%94%A8%E4%BA%8E%E4%BC%81%E4%B8%9A%E5%86%85%E9%83%A8%E4%BB%A3%E7%A0%81%E7%AE%A1%E7%90%86%E3%80%81%E5%9B%A2%E9%98%9F%E5%8D%8F%E4%BD%9C%E5%BC%80%E5%8F%91%E7%AD%89%E5%9C%BA%E6%99%AF%E3%80%82
通过以下命令构建镜像:
bashdocker build \ --build-arg BUILD_LANGUAGE_CN=true \ --build-arg GITLAB_VERSION=v12.3.5-zh \ -t benyoo/gitlab:12.3.5-zh \ -t benyoo/gitlab:latest \ https://github.com/xiaoyawl/GitLab.git
创建docker-compose.yml文件,配置如下:
yamlversion: '2' services: redis: restart: always image: sameersbn/redis:4.0.9-2 command: - --loglevel warning volumes: - /data/redis-data:/var/lib/redis:Z postgresql: restart: always image: sameersbn/postgresql:10-2 volumes: - /data/postgresql-data:/var/lib/postgresql:Z environment: - DB_USER=gitlab - DB_PASS=password - DB_NAME=gitlabhq_production - DB_EXTENSION=pg_trgm gitlab: restart: always image: benyoo/gitlab:12.3.5-zh depends_on: - redis - postgresql ports: - "10080:80" # Web访问端口 - "10022:22" # SSH访问端口 volumes: - /data/gitlab-data:/home/git/data:Z # 数据持久化卷 environment: - DEBUG=false # 是否启用调试模式 # 数据库配置 - DB_ADAPTER=postgresql - DB_HOST=postgresql - DB_PORT=5432 - DB_USER=gitlab - DB_PASS=password - DB_NAME=gitlabhq_production # Redis配置 - REDIS_HOST=redis - REDIS_PORT=6379 # 时区配置 - TZ=Asia/Kolkata - GITLAB_TIMEZONE=Kolkata # HTTPS配置 - GITLAB_HTTPS=false # 是否启用HTTPS - SSL_SELF_SIGNED=false # 是否使用自签名证书 # 访问地址配置 - GITLAB_HOST=localhost # GitLab访问域名/IP - GITLAB_PORT=10080 # Web访问端口 - GITLAB_SSH_PORT=10022 # SSH访问端口 - GITLAB_RELATIVE_URL_ROOT= # 子目录部署路径(如无需则留空) # 安全密钥(需替换为随机字符串,至少64位) - GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string - GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string - GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string # 管理员账户配置 - GITLAB_ROOT_PASSWORD= # 管理员root密码(首次登录设置) - GITLAB_ROOT_EMAIL= # 管理员邮箱 # 邮件通知配置 - GITLAB_NOTIFY_ON_BROKEN_BUILDS=true # 构建失败时通知 - GITLAB_NOTIFY_PUSHER=false # 推送时通知 - GITLAB_EMAIL=notifications@example.com # 发件人邮箱 - GITLAB_EMAIL_REPLY_TO=noreply@example.com # 回复邮箱 - GITLAB_INCOMING_EMAIL_ADDRESS=reply@example.com # 收件邮箱(用于回复评论) # 备份配置 - GITLAB_BACKUP_SCHEDULE=daily # 备份频率(daily/hourly/weekly) - GITLAB_BACKUP_TIME=01:00 # 备份时间 # SMTP邮件发送配置(如需启用,将SMTP_ENABLED设为true并配置以下参数) - SMTP_ENABLED=false - SMTP_DOMAIN=www.example.com - SMTP_HOST=smtp.gmail.com - SMTP_PORT=587 - SMTP_USER=mailer@example.com - SMTP_PASS=password - SMTP_STARTTLS=true - SMTP_AUTHENTICATION=login # IMAP邮件接收配置(如需启用,将IMAP_ENABLED设为true并配置以下参数) - IMAP_ENABLED=false - IMAP_HOST=imap.gmail.com - IMAP_PORT=993 - IMAP_USER=mailer@example.com - IMAP_PASS=password - IMAP_SSL=true - IMAP_STARTTLS=false # OAuth集成配置(根据需要启用相应 provider) - OAUTH_ENABLED=false # 支持CAS3、Google、GitHub、SAML等多种OAuth provider,具体参数见官方文档
启动服务:
bashdocker-compose up -d
数据存储
GitLab数据通过卷挂载实现持久化,核心挂载路径:
/home/git/data:存储GitLab应用数据(代码仓库、配置等)sudo chcon -Rt svirt_sandbox_file_t /data/gitlab-data数据库配置
支持外部PostgreSQL或容器化PostgreSQL:
DB_HOST、DB_PORT、DB_USER、DB_PASS、DB_NAME参数配置sameersbn/postgresql:10-2镜像,通过depends_on和环境变量链接Redis配置
支持外部Redis或容器化Redis:
REDIS_HOST、REDIS_PORT参数配置sameersbn/redis:4.0.9-2镜像,通过depends_on链接邮件配置
SMTP_*参数启用邮件发送(如Gmail、企业***)IMAP_*参数启用邮件回复评论功能SSL配置
bashopenssl genrsa -out gitlab.key 2048 openssl req -new -key gitlab.key -out gitlab.csr openssl x509 -req -days 3650 -in gitlab.csr -signkey gitlab.key -out gitlab.crt openssl dhparam -out dhparam.pem 2048 # 增强安全性
/home/git/data/certs目录GITLAB_HTTPS=true、SSL_SELF_SIGNED=true(自签名证书时)创建备份
bashdocker exec -it gitlab gitlab-rake gitlab:backup:create
恢复备份
bashdocker exec -it gitlab gitlab-rake gitlab:backup:restore BACKUP=<备份文件名>
升级镜像
docker pull benyoo/gitlab:12.3.5-zhdocker-compose down && docker-compose up -d探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务