Docker决战到底(八) 自己动手搭建GitLab服务

在前面的实践记录中,我们使用的示例项目都是我在Github上的,其实除了网络稍微有点慢外也没有什么问题。但是一般在我们的工作中,都会搭建一个公司内部使用的Git服务器,而比较常见的就是搭建一个GitLab服务器。目前我所在的公司里面也是采用的自建GitLab,只是使用的是传统的软件源安装方式而不是基于容器化。所以,本篇实践记录就是自己动手来搭建一个基于Docker的GitLab。

一、前言概要

绝大多数时候我们只把GitLab作为一个分布式的Git代码管理工具,但其实它还应该发挥出更多的作用。本篇中主要记录的是基于Docker搭建GitLab服务,而至于它的基本使用以及它应发挥的更多作用,我预计会在后续的实践中运用起来。接下来我们步入正题,准备安装GitLab。

二、安装部署GitLab服务

2.1 下载镜像

GitLab有社区版(CE)与企业版(EE)之分,这里我们采用社区版。首先按照我的习惯,在确定使用什么镜像后,我就会直接先pull镜像到宿主机上,使用如下命令:

$ docker pull gitlab/gitlab-ce:latest

这个镜像有点大,我们需要耐心等待一段时间。
等到镜像pull完成后,你肯定知道接下来我要做什么。没错,接下来我们就要查看一下镜像的一些详细信息。在这之前,我们先来看下刚才的镜像,1.78GB,也的确够大的。

然后执行如下命令查看镜像详细信息:

$ docker inspect gitlab/gitlab-ce:latest

部分截图如下:

我一般比较关心的是其暴露的端口及数据卷目录,可以看到,有几个我们需要用来做持久化的数据卷。不知道为什么,在单机环境中我特别喜欢采用映射主机目录的方式来进行有状态服务的数据持久化。
执行如下命令,在宿主机创建三个挂载目录。当然,这个目录是可以自动创建的。

$ mkdir -p /docker_volume/gitlab/config
$ mkdir -p /docker_volume/gitlab/data
$ mkdir -p /docker_volume/gitlab/logs

接着我们准备启动容器。

2.2 docker命令启动容器

$ docker run -d --restart=unless-stopped -p 30020:443 -p 30021:80 -p 30022:22 \
     -h 192.168.225.129 \
     -v /docker_volume/gitlab/config:/etc/gitlab \
     -v /docker_volume/gitlab/data:/var/opt/gitlab \
     -v /docker_volume/gitlab/logs:/var/log/gitlab \
     --name gitlab gitlab/gitlab-ce:latest

执行如下命令查看我们刚才启动的容器状态:

$ docker container ls -f name=gitlab

接下来我们将通过rancher来管理容器,这里先删除容器:

$ docker container rm -f gitlab

2.3 rancher中部署GitLab服务

在往期的 docker决战到底 系列文章中我们已经在rancher中部署过好几次服务了,相信你已经能够熟练使用了,只需根据上面通过docker命令启动容器的方式映射到rancher服务部署的操作中即可。大致截图如下:

到此,我们的GitLab服务已经运行在容器中,我们可以随时删除或重新启动容器而不用担心我们的数据会丢失,因为我们已经把数据持久化到了我们的宿主机/docker_volume/gitlab目录中,如果你想进行一下自定义配置也可以在/docker_volume/gitlab/config目录下直接进行更改。下面,我们来访问一下GitLab的可视化管理界面。

三、可视化管理GitLab

3.1 初始化

浏览器访问:http://192.168.225.129:30021,初次访问需要重新设置root账号的密码,这里密码我们假定设置为123456(不能太简单,不然不能设置成功)

密码设置成功后,即可采用root账号登录。登录后主页如下图:

3.2 创建项目

点击主页的 [Create a project]创建一个项目,当然在实际工作中使用时还需要先进行一系列用户权限等设置。

3.3 通过Git工具管理项目

在我们本地机器上通过git客户端进行操作

$ git clone http://192.168.225.129:30021/root/test.git/ 

输入用户名root和密码123456即可克隆成功项目,然后把需要的项目提交推送上去即可,相信每一个开发人员都会操作,这里不再过多介绍。

更多操作可以查看GitLab官方文档

四、使用小结

本篇实践记录我们演示了怎么通过容器部署GitLab以及其简单的使用,整体来说比较简单。在后续实践中,我们当然不会只把它作为一个Git版本管理工具来使用,可能更多的还是会接触它的CI/CD这一块功能实践。如果你有什么疑问或者文中有什么错误的地方,欢迎在留言区留言。

前文导航
Docker决战到底(一) 虚拟机中安装ubuntu系统
Docker决战到底(二) Docker环境搭建
Docker决战到底(三) Rancher2.x的安装与使用
Docker决战到底(四) Jenkins的安装与使用
Docker决战到底(五) 制作自己的Jenkins镜像
Docker决战到底(六) 制作自己的Maven镜像
Docker决战到底(七) 使用多阶段构建Spring Boot应用镜像

Docker决战到底系列全为本人wendell_dev原创,转载请注明来源。

PS:不知道为什么上一篇文章 Docker决战到底(七) 使用多阶段构建Spring Boot应用镜像 被简书锁定了,不知道哪里违规了,正在通过邮件反馈中。想要查看的小伙伴可移步至我的CSDN博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容