各位小伙伴万福金安,我是你们的小栈君,今天给大家带来的分享是关于gitlab的部署的实战操作,对于gitlab相信不少的小伙伴都或多或少的接触过一些,总的老说GitLab是一个利用 Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。在公司或者企业中都会进行构建自己的代码仓库,此时的话拥抱gitlab是你最佳的选择,今天小栈君就手把用docker搭建GitLab服务器。

部署准备

在拉取前夕,我们需要准备相关的docker环境,保证docker环境可以用,针对于docker的操作过段时间,小栈君会进行一个详细的教程书写,所以在本文中不会过多的讲述。只需要你跟着小栈君的步伐进行一步步操作,就可以了。话不多说,让我们开始吧。

一、检查环境

安装好之后首先检查一下docker的版本

在这里小栈君安装的版本如上图所示:

二、查找原镜像数据

在保证我们docker安装无误的情况下,我们就可以在docker的镜像市场中进行gitlab的搜索。

使用命令 docker search gitlab就可以搜索到全部的镜像了。如下图所示:

这里面我们就可以看到其他开发者或则社区帮我们打包好的镜像,虽然我们自己也可以进行做这个镜像,但是完全没有必要。我们开发的一贯宗旨就是“能躺着绝不站着”。在这里有一个小tips给大家,针对有的不怀好意的开发者,在创建镜像时往往会添加一些后门,所以我们再拉取的时候也需要长一个心眼,所以在描述中 和在starts数量上尽量选择官方的镜像和starts 数量比较多的。针对查找好的镜像,我们就可以进行镜像的拉取,同样的 我们如果直接使用docker pull可能速度较慢,所以我们可以使用阿里的云仓为我们进行加速。

docker pull registry.cn-hangzhou.aliyuncs.com/imooc/gitlab-ce:latest

检查镜像

​ 在镜像拉取完成之后,我们就可以又一次愉快的进行查看了,所以大家在完成操作后一定要注意查看,养成一个良好的习惯,有益于减少bug的发生~。

docker images查看镜像仓库

在写这篇文章的时候,小栈君这边已经拉取好了最新的镜像,所以简单检查一下就好了,其实这边的镜像这么大,是有原因的,在后面我会详细给大家讲解一下。

部署脚本

针对gitlab 之中,它内含的功能是非常强大的,当然其中需要映射出来的端口也是很多的,所以小伙伴不要一开始下载下来就立马执行 docker run命令,如果你执行了,小栈君很不幸的告诉你,你得到的只会是404。同样的如果你即使执行了端口映射,也启动好了,将来的某天需要重新启动的时候,你如果不将数据挂载出来,你收获的又将是自挂东南枝吧。

所以呢,我们在启动之前,需要做的就是一件事–编写启动脚本。一个好的启动脚本会让你在项目启动的时候非常的丝滑。首先在服务器上选择一个空位,最好是在root文件夹中创建一个专属的gitlab文件夹,另外,在同级目录创建一个start.sh 空文件。如图所示:

然后就开始我们的脚本编写之旅。首先我们需要进行22、443、80开放,另外就是针对源数据,日志,配置的文件进行挂载出来,以下是小栈君的简单脚本,仅供参考哦。

GITLAB_DIR=/root/gitlab/data
docker stop gitlab
docker rm gitlab
docker run -d \-p 5443:443 -p 9998:9998 -p 2222:22 \--name gitlab \-v ${GITLAB_DIR}/config:/etc/gitlab \-v ${GITLAB_DIR}/logs:/var/log/gitlab \-v ${GITLAB_DIR}/data:/var/opt/gitlab \gitlab/gitlab-ee:latest

然后我们就可以使用sh start.sh启动gitlab了,初次启动会比较慢,所以我们需要耐心等待一下。启动之后我们就可以看到我们原本空data 文件夹中有了很多东西,如下图所示:

现在就可以给大家解释为什么镜像这么大,是因为gitlab 的依赖非常的多。这里都可以看到Nginx、postgresql等等。

改造之路

你以为现在就已经可以高枕无忧了么,其实还差点意思,因为小栈君在访问gitlab中的端口做了点手脚,所以在访问的时候需要用到端口9998,所以还需要改动一点配置,才能够生效。

在config目录我们需要对gitlab.rb进行如下修改:

external_url 'http://本机ip:9998'

至此,我们的安装就告一段落了,重新执行sh命令之后,我们耐心等待就可以登录啦。

安装好的小伙伴就可以使用root账户进行登录,相关的密码可以在config中的找寻得到。

所以我们今天的分享就先到这里吧,我是小栈君,关注我每天学习新知识。我们下期再见啦。

初探docker部署gitlab相关推荐

  1. Linux centos7 docker部署gitlab私有服务器

    Docker部署gitlab私有服务器,那么,这里必须要有两个软件啦,一个是Docker,一个是gitlab.鉴于很多同学还是不太了解这两个东西,并且观看了不少的其他大神的相关博客,发现对于Docke ...

  2. Docker部署Gitlab,http端口不用80的解决方法

    虚拟机中的端口:80被占用了,所以需要用其他的端口代替 解决办法: web:image: 'gitlab/gitlab-ce:latest'restart: alwayshostname: '146. ...

  3. docker部署gitlab

    这篇文章用来记录下我在使用docker部署gitlab时候遇到的一些坑. 先介绍下我的环境: 阿里云的轻量应用服务器:2核4G(好像最低要求配置,之前用2核2G的部署,直接给内存溢出),centos7 ...

  4. mac 上搭建gitlabel_在Mac OS X中用Docker部署GitLab

    以前采用gitosis在Mac OS上架设Git服务器,用于集中管理课题组中的所有Git仓库.Gitosis 是一套用来管理 authorized_keys文件和实现简单连接限制的脚本,用来添加用户和 ...

  5. docker 部署 gitlab gitlab-runner 实现 CI

    GitLab私服搭建 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务 参考官方Doc: GitLab Docker images | Gi ...

  6. windows使用docker部署gitlab

    前言 我们团队内部有做版本控制的需求,有两种选择,SVN和GIT SVN:集中化的版本控制系统 GIT:分布式版本控制系统 很显然,我一定选择GIT,而且目前GIT应该是占据着版本控制的主流的,SVN ...

  7. 使用Docker部署GitLab、Nexus、Registry私服

    使用Docker搭建GitLab.Nexus.Registry 最佳建议,一个服务器部署一个相应服务,如果服务器够强大,就可忽视忽视. GitLab的部署 下载镜像 GitLab社区中文版镜像地址 $ ...

  8. docker 部署Gitlab

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 1.搜索Gitlab docker search gitlab 2.下载Gitlab sudo docker pull gitlab/gitlab-c ...

  9. 修改无效_解决docker部署gitlab时,clone地址无效和修改默认端口

    部署: docker run -d -p 444:443 -p 88:88 -p 222:22 --name gitlab --restart always -v /usr/local/docker/ ...

最新文章

  1. c 使用matlab引擎,[转载]C与MATLAB混合编程之调用MATLAB引擎
  2. jquery php 抽奖,jquery实现抽奖系统
  3. 产品经理学PMP,有必要吗?
  4. 217. Contains Duplicate数组重复元素 123
  5. mysql数据结构参考书籍_mysql数据结构相关
  6. 【区块链Go语言实现】Part 1:区块链基本原型
  7. 回顾我个人的创业经历
  8. OpenCV精进之路(二十一):实例——去除发票上的印章
  9. 国家机关可免费使用百会办公门户一年
  10. 阿里菜鸟JAVA实习生一面面试题
  11. 蓝牙的原理,蓝牙耳机怎么连接手机
  12. API接口之webservice接口
  13. vc html插件,VC++6.0插件系列(绝对经典)
  14. 如何逃出【 AI 换脸的世界】
  15. 怎么下载b站的弹幕(danmuku)
  16. 交通标志牌的检测与识别
  17. java中关于包的描述_下列关于Java包的描述中,错误的是() (1.0分)_学小易找答案
  18. 【论文学习】:ICCV 2017-Detect-and-Track: Efficient Pose Estimation in Videos
  19. Keil(C51)安装与注册
  20. 我给出了一个 四色定理 的 证明

热门文章

  1. 范德堡大学用机器学习预测自杀,准确率在80%以上
  2. 如何区分电梯卡为id卡ic卡_如何分辨门禁系统中IC卡和ID卡的不同
  3. 这5个灵感网站,设计师都在逛
  4. 深度学习前沿算法思想
  5. 2010年度CSDN十大资讯 (编辑推荐)
  6. R提示ERROR: dependencies ‘caret’ are not available for package ‘XXX’ 和MethylCIBERSORT的R包安装
  7. 元宇宙中国江湖进化录
  8. 帝国cms内容模板sql语句方式调用当前TAG标签
  9. 重置 Mac 上的系统管理控制器 (SMC)
  10. unity 渐变消失_Shader Forge中怎么调整time渐变消失的间隔