超级详细的 Docker Desktop 安装 GitLab

一、GitLab介绍

GitLab 分为 社区版(Community Edition,缩写为 CE)和 企业版(Enterprise Edition,缩写为
EE)。社区版是免费的,而企业版包含一些收费服务,一般来说个人开发者用社区版就足够了。
GitLab是一款基于git仓库的代码管理工具,可以帮助我们团队进行版本控制和协作开发。gitlab还提供了完整的持续集成/持续交付平台,能够自动化代码构建、测试、发布等过程,并且是一款开源的平台,公司也可以根据需求来进行定制化,满足不同团队,适应不同的需求和流程。

gitlab官网:https://gitlab.cn/install/
gitlab官方文档:https://docs.gitlab.com/ee/install/docker.html
gitlab官方文档:https://docs.gitlab.cn/runner/install/docker.html

在这里插入图片描述

二、使用 Docker Desktop 安装 GitLab

1、安装 Docker Desktop

请看这里:Docker Desktop 安装使用教程

然后如果想先安装一个 Linux 系统,请看这里:使用 Docker Desktop 安装 Centos 系统

2、使用 Docker Desktop 安装 GitLab 镜像

2.1、 查看 GitLab 镜像

GitLab CE Docker 镜像 (社区版)
GitLab EE Docker 镜像 (企业版)

# 查询镜像
docker search gitlab

在这里插入图片描述
使用 Docker Desktop 查看 GitLab 镜像

在这里插入图片描述

2.2、 下载 GitLab 镜像

在这里插入图片描述

# 拉取最新版本的镜像命令,不加 tag 则默认为最新版本 latest
docker pull gitlab/gitlab-ce
# 拉取最新版本的镜像命令
docker pull beginor/gitlab-ce:latest
# 拉取指定版本的镜像命令
docker pull gitlab/gitlab-ce:15.6.3-ce.0

在这里插入图片描述
在这里插入图片描述

使用 Docker Desktop 下载 GitLab 镜像:

在这里插入图片描述

在这里插入图片描述

使用 Linux 下载 GitLab 镜像:

在这里插入图片描述

2.3、 启动服务 GitLab 镜像

docker run --name gitlab --restart always -p 9980:9980 -p 222:22 -v /usr/local/docker/gitlab/config:/etc/gitlab -v /usr/local/docker/gitlab/logs:/var/log/gitlab -v /usr/local/docker/gitlab/data:/var/opt/gitlab -d gitlab/gitlab-ce

这里解释一下这串代码的情况,复制的话就复制上面的命令

docker run
-d #后台运行,全称:detach
-p 8443:443 #将容器内部端口向外映射
-p 8090:80 #将容器内80端口映射至宿主机8090端口,这是访问gitlab的端口
-p 8022:22 #将容器内22端口映射至宿主机8022端口,这是访问ssh的端口
–restart always #容器自启动
–name gitlab #设置容器名称为gitlab
-v /usr/local/gitlab/etc:/etc/gitlab #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
-v /usr/local/gitlab/log:/var/log/gitlab #与上面一样
-v /usr/local/gitlab/data:/var/opt/gitlab #与上面一样
–privileged=true #让容器获取宿主机root权限 twang2218/gitlab-ce-zh #镜像的名称,这里也可以写镜像ID

在这里插入图片描述

使用 Docker Desktop 启动 GitLab 镜像:

在这里插入图片描述

使用 Linux 启动 GitLab 镜像:

在这里插入图片描述

2.4.查看Gitlab是否已经启动

# 添加-a 参数,把启动的,没有启动的都列出来
docker ps

在这里插入图片描述

2.5.查看Gitlab的运行状态

# 查看Gitlab的运行状态
docker logs -f gitlab

等待执行,启动时间可能会比较长,最终停止滚动,发现系统执行没有报错,系统正常运行。使用ctrl + c 组合键退出。

在这里插入图片描述

三、配置Gitlab

3.1.修改配置

接下来的配置请在容器内进行修改,不要在挂载到宿主机的文件上进行修改。否则可能出现配置更新不到容器内,或者是不能即时更新到容器内,导致gitlab启动成功,但是无法访问

# 进入容器
docker exec -it gitlab bash

在这里插入图片描述

#修改gitlab.rb
vi /etc/gitlab/gitlab.rb

在这里插入图片描述
在这里插入图片描述

# 编辑
insert 
# 搜索
/搜索内容(如:/external_url )   
# 下一个搜索内容
N	

#加入如下
#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://192.168.249.132:8899' 
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.249.132'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922

# 操作
Esc    
# 保存退出
:wq 
# 直接退出
:q! 

在这里插入图片描述

在这里插入图片描述
或者直接把配置放一起:

在这里插入图片描述


# 重新编译gitlab配置文件
gitlab-ctl reconfigure

在这里插入图片描述

# 重启gitlab服务
gitlab-ctl restart

在这里插入图片描述

#退出容器
exit

在这里插入图片描述

# 重启gitlab容器
docker restart gitlab

在这里插入图片描述

3.2.访问gitlab页面 502

在浏览器中访问http:ip:8929,将ip替换为你服务器的ip地址。

在这里插入图片描述
访问gitlab页面 502解决办法:

编辑命令和上面一样,这里就不在详细写了

①修改/etc/gitlab/gitlab.rb(2个参数对应的端口一致)  
unicorn['port'] = 8888
gitlab_workhorse['auth_backend'] = "http://localhost:8888" 

②重新执行配置
gitlab-ctl reconfigure
gitlab-ctl restart

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3.访问gitlab

# 进入并查看一下初始密码
docker exec -it gitlab cat /etc/gitlab/initial_root_password

在这里插入图片描述
然后在浏览器中访问http:ip:8929(将ip替换为你服务器的ip地址),点击Sign in,发现已经可以正常登录了。

在这里插入图片描述
在这里插入图片描述

3.4.修改密码

根据图示找到password按钮,进行修改密码操作。
在这里插入图片描述

输入旧密码,然后输入两次新密码后,点击Save password。这样就设置好了!

在这里插入图片描述

3.5.关闭注册功能

我这里用不到注册功能,所以我把注册功能给关掉了。

在这里插入图片描述
在这里插入图片描述

最后点击save changes保存应用。

在这里插入图片描述

四、关于Gitlab页面的操作

详情请查看这里:Gitlab添加组、创建用户和项目、权限管理

五、防火墙开放端口

外部访问不到可以看看是不是防火墙没有打开

#查看防火墙状态
systemctl status firewalld  

#开启防火墙
systemctl start firewalld   

#关闭防火墙  
systemctl stop firewalld    

 #查看开放端口
firewall-cmd --list-ports    

#设置80800端口开放
firewall-cmd --zone=public --add-port=8080/tcp --permanent 

#再次查看是否开放
firewall-cmd --list-ports     

猜你喜欢

转载自blog.csdn.net/GoodburghCottage/article/details/131683475