
基于https://github.com/iankoulski/depend-on-docker%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%98%93%E7%94%A8GitLab%E5%AE%B9%E5%99%A8%E3%80%82
bashdocker container run -d --name gitlab -p 80:80 -p 2222:22 -v gitlab-config:/etc/gitlab -v gitlab-logs:/var/log/gitlab -v gitlab-data:/var/opt/gitlab iankoulski/gitlab:12.5.2-ce.0
此命令将启动GitLab,在端口80暴露Web UI,在端口2222暴露Git SSH端点。所有配置、日志和数据将存储在命名Docker卷中。仅启用基本功能(源代码控制)。
通过克隆iankoulski/gitlab仓库可实现更灵活的配置。
bashgit clone https://github.com/iankoulski/gitlab.git
根据需求修改.env文件中的设置,然后执行运行脚本来启动GitLab。
bash./run.sh
此命令将启动启用SSL和Docker注册表的GitLab。默认情况下,UI将在端口443暴露,Docker注册表在端口446暴露。
GitLab实例完全初始化后(参见./logs.sh),可导航至./run.sh或./status.sh脚本显示的GITLAB_EXTERNAL_URL。如果在本地Docker中运行项目,可导航至http://localhost,系统将自动重定向。
系统会要求创建密码。然后可使用用户“root”和创建的密码首次登录。
要启用CI/CD流水线,GitLab需要运行器。此镜像已预装本地运行器服务,但要使其正常运行,需将运行器注册到GitLab实例。注册时必须提供注册令牌。
要注册本地运行器,在GitLab UI中导航至管理区域,然后点击功能列表底部的“共享运行器”。从设置共享运行器的说明中复制注册令牌。然后执行以下命令:
console./util/gitlab-runner-register.sh <registration_token>
此容器镜像基于gitlab/gitlab-ce,仅做了一处修改:修改文件/opt/gitlab/embedded/cookbooks/postgresql/resources/user.rb,延长启动脚本等待PostgreSQL数据库上线的时间。这避免了数据库从意外关闭(如GitLab容器重启时)恢复时可能发生的启动失败。此外,https://github.com/iankoulski/gitlab%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84stop.sh%E8%84%9A%E6%9C%AC%E5%9C%A8%E7%A7%BB%E9%99%A4%E5%AE%B9%E5%99%A8%E5%89%8D%E4%BC%9A%E4%BC%98%E9%9B%85%E5%85%B3%E9%97%AD%E6%95%B0%E6%8D%AE%E5%BA%93%E3%80%82%E8%BF%99%E8%A7%A3%E5%86%B3%E4%BA%86GitLab Org开源仓库中报告的issue 893。
在高级配置的初始启动时,会为GitLab和Docker注册表生成自签名SSL证书。这些证书存储在wd/gitlab/config/ssl,如有需要可替换。要设置GitLab配置、日志或数据的存储位置,只需编辑提供的.env文件。
按照以下步骤可轻松将GitLab部署到Kubernetes集群:
修改环境文件.env。为GitLab实例设置正确的主机名和证书路径。
生成gitlab.yaml
consolecd util ./gitlab-yaml-generate.sh
consolecd util kubectl apply -f ./gitlab.yaml
如果在本地运行Kubernetes,可按以下步骤运行GitLab:
修改环境文件.env,将GITLAB_RUNTIME变量设置为"kubernetes"
执行run.sh脚本
(可选)GitLab启动后如需注册共享运行器,执行脚本util/gitlab-runner-register-k8s.sh并提供注册令牌作为参数。注册令牌可从GitLab的管理->运行器页面复制。
注意:要使用自签名证书向GitLab推送代码,可使用以下命令:"git -c http.sslVerify=false push"
此仓库包含GitLab社区版和企业版的分支。两个版本的唯一区别是企业版包含允许应用许可证并启用GitLab企业级功能的功能。可以在没有安装许可证的情况下运行GitLab企业版,这被视为GitLab免费版(又称GitLab Core)。默认使用GitLab企业版的优势是,如有需要,可在不更改GitLab部署的情况下应用许可证。因此,master分支提供GitLab企业版容器。有关此主题的更多信息可参见此处。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务