超级详细的 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     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/21685.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

听GPT 讲K8s源代码--pkg(二)

在 Kubernetes(K8s)项目中,pkg/controller 目录是用于存放控制器(Controller)相关的代码的目录。控制器是 Kubernetes 的核心组件之一,用于管理和控制集群中的资源对象的状态和行为。 pkg/controller 目录的…

windows上安装Vmware及Linux系统

Linux系统的安装 一、windows上安装Vmware 第一步:复制VMware软件包到Windows系统中 第二步:双击VMware安装包,进行软件的安装 第三步:勾选软件的许可协议 第四步:设置VMware安装路径以及勾选增强型的键盘程序 第五步…

深度挖掘文物价值,VR博物馆讲好文物故事

文物不言,自有春秋。丝绸、字画、瓷器、古玩等,铺陈的是传奇,激荡的是灵魂。历史文物珍贵的莫过于其历史与文化的价值,倘若不能被更多的人欣赏、研究、传承,那么这些文物就很难实现“价值外溢”。 单纯的去读历史课本&…

【国产复旦微FMQL45教程】-Procise应用流程

本教程采用 FMQL7045 FPGA开发板来完成整个试验,板卡照片如下: 具有丰富的接口资源,系统框图如下: 本教程用于完成基于Vivado的FMQL45的LED实验,目标是能够将这款开发板PL端先跑起来。 2 Procise工程建立 &#xff0…

基于 FFmpeg 的跨平台视频播放器简明教程(六):使用 SDL 播放音频和视频

系列文章目录 基于 FFmpeg 的跨平台视频播放器简明教程(一):FFMPEG Conan 环境集成基于 FFmpeg 的跨平台视频播放器简明教程(二):基础知识和解封装(demux)基于 FFmpeg 的跨平台视频…

re学习(15)BUUCTF 2019红帽杯easyRe

参考视频: 【BUUCTF】每天一个CTF11“2019红帽杯easyRe”_哔哩哔哩_bilibili (本人觉得看视频比看博客效率能提高十倍,呜呜呜,还是视频香~~~与君共勉) 下载地址: BUUCTF在线评测 前言:虽然…

opencv 图像基础处理_灰度图像

opencv 学习2_灰度图像 二值图像表示起来简单方便,但是因为其仅有黑白两种颜色,所表示的图像不够细腻。如果想要表现更多的细节,就需要使用更多的颜色。例如,图 2-3 中的 lena 图像是一幅灰度图像, 它采用了更多的数值…

如何用Three.js + Blender打造一个web 3D展览馆

作者:vivo 互联网前端团队- Wei Xing 运营活动新玩法层出不穷,web 3D炙手可热,本文将一步步带大家了解如何利用Three.js和Blender来打造一个沉浸式web 3D展览馆。 一、前言 3D展览馆是什么,先来预览下效果: 看起来像…

locust性能测试和分布式压测

一、工具介绍 Locust是一个开源的Python性能测试工具,用于模拟大量并发用户访问网站、API等,以测试系统的性能和稳定性。它的主要特点包括: 1.简单易用:Locust基于Python编写,使用方便,学习曲线较低。 2…

【高并发】高并发架构实战:从需求分析到系统设计

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员,2024届电子信息研究生 很多软件工程师的职业规划是成为架构师,但是要成为架构师很多时候要求先有架构设计经验,而不做架构师又怎么会有架构设计经验呢?那么要如何获得架构设…

【Unity3D 问题总结】☀️ | 解决LayoutGroup配合Content Size Fitter使用时发生子成员位置错乱问题

🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 &…

【LLM】金融大模型场景和大模型Lora微调实战

文章目录 一、金融大模型背景二、大模型的研究问题三、大模型技术路线四、LLaMA家族模型五、Lora模型微调的原理六、大模型Lora微调实战Reference 一、金融大模型背景 金融行业需要垂直领域LLM,因为存在金融安全和数据大多数存储在本地,在风控、精度、实…