Docker安装GitLab及使用图文教程

作者: 宋发元

GitLab安装及使用教程

官方教程 https://docs.gitlab.com/ee/install/docker.html

Docker安装GitLab

宿主机创建容器持久化目录卷

shell 复制代码
mkdir -p /docker/gitlab/{config,data,logs}

拉取GitLab镜像

shell 复制代码
docker pull gitlab/gitlab-ce:15.3.1-ce.0

运行GitLab容器(注意修改IP为你的宿主机IP

shell 复制代码
docker run -d \
-p 8888:80 \
-p 2222:22 \
-v /docker/gitlab/config:/etc/gitlab \
-v /docker/gitlab/data:/var/opt/gitlab \
-v /docker/gitlab/logs:/var/log/gitlab \
-e GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.2.110'; gitlab_rails['gitlab_shell_ssh_port'] = 2222; gitlab_rails['time_zone'] = 'Asia/Shanghai'" \
-e TZ=Asia/Shanghai \
--memory 16G \
--cpus=8 \
--restart always \
--name gitlab \
gitlab/gitlab-ce:15.3.1-ce.0

浏览器访问GitLab

查看初始密码

shell 复制代码
docker exec -it gitlab grep "Password": /etc/gitlab/initial_root_password

浏览器登录Gitlab: http://IP:8888

账号:root

密码:【上一步查看的密码】

设置可见性和访问控制

操作路径:Admin Area > Settings > General > Visibility and access controls

修改超级管理员密码

关闭用户自动注册功能

以root权限登录,在Gitlab的主菜单上,选择Menu --> Admin,如下所示:

在弹出的页面中,取消掉Sign-up enabled选项前面的勾,然后点击底部的Save changes后,就可以使得我们的配置生效了。这样在登录的时候,就无法实现自动注册了。如下所示:

创建用户

在首页找到管理员,如图所示:

点击小人图标

找到Users,创建用户:

填写相关信息

注意:需要填写一下email,用于给被创建用户发送初始登录密码。

创建组

Gitlab上创建项目时,由于新项目的创建必须依赖于一个组,因此,我们在创建项目前,先创建组,如下所示:

输入组的名称和描述,组的URL会随着组名称的输入而自动出现,在组的权限处,我们选择Private,配置完成后如下所示:

点击最下方的Create Group,就可以完成组的创建了。

创建项目

项目的创建与组的创建过程类似,都是输入项目名称,选择组的名称,项目描述以及权限等。

建议直接在组下创建项目,有三种方式:创建空项目、根据模板创建、从其他代码仓库迁移,根据个人情况选择:

修改语言

系统默认为英文,如果需要修改为中文,操作如下。

刷新浏览器即可切换为中文显示

问题解决

超级管理员密码重置

如果root账户密码不正确,则需要重新设置,步骤如下:

shell 复制代码
# 首先进入 gitlab_test 容器内
docker exec -it gitlab /bin/bash
# 进入控制台(这步需要等待一会)
gitlab-rails console -e production
# 查询root用户(即id为1)
user=User.where(id:1).first
# 设置密码
user.password='123456789'
# 保存
user.save!
# 退出
exit

修改配置(暂未使用到)

vim /docker/gitlab/config/gitlab.rb

shell 复制代码
# gitlab访问地址
external_url 'http://192.168.2.110'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 2222
# 时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'

让配置生效

shell 复制代码
docker exec -it gitlab gitlab-ctl reconfigure

重启gitlab服务

shell 复制代码
docker exec -it gitlab gitlab-ctl restart
相关推荐
java_logo3 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
生活爱好者!16 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
java_logo17 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
MC皮蛋侠客17 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
Hui Baby18 小时前
K8S使用CRD和控制器简单应用
云原生·容器·kubernetes
用户2333768521820 小时前
Docker 端口"时通时不通"的排查实战
docker
做个文艺程序员20 小时前
Linux第22篇:用Docker容器化你的Java SaaS应用:一次构建,随处运行
java·docker·容器
ShiXZ21320 小时前
Redis docker-compose 部署指南
redis·docker·eureka
梦梦代码精1 天前
基于ThinkPHP6 + Vue3的家政预约系统全解析:从LBS定位到自动派单的完整实现
java·docker·开源·php·代码规范
Zhu7581 天前
在k8s环境部署Apache Superset最新版
容器·kubernetes·apache