Gitlab简介

GitLab是一个Git的代码托管工具,有免费的社区版允许我们在本地搭建代码托管网站,也有付费的企业版网站,能够在线托管代码。传统方式是手动下载Gitlab的软件包,然后搭建相关运行环境。不过这种方式非常麻烦,而且如果要更换机器所有配置工作又得重来一边,如果有同学学过Java的话应该记得初学Java时配置环境变量的恐惧吧?因此更好的办法就是使用现在非常流行的Docker。

那么Docker又是个什么东西呢?这是一个虚拟化的运行工具,主要目的是将软件和整个运行环境打包起来,让我们不需要配置即可快速运行软件。由于Docker依赖于Linux内核的某些特性,所以Docker只能在Linux上运行。Windows上的Docker实际上是开了一个虚拟机。Docker目前好像没有比较好的中文社区,我谷歌了一下只找到了这个Docker中文社区,看起来还行。

安装docker

我用的是Archlinux,所以安装命令如下。

sudo pacman -S docker

如果使用其他系统的话需要改用相应的包管理工具。

安装好之后,来看看Docker的版本。

sudo docker version

应该会显示类似下面这样的信息。Docker客户端的版本最好在1.10以上。

Client:Version:      1.13.1API version:  1.26Go version:   go1.7.5Git commit:   092cba3727Built:        Sun Feb 12 02:40:56 2017OS/Arch:      linux/amd64Server:Version:      1.13.1API version:  1.26 (minimum version 1.12)Go version:   go1.7.5Git commit:   092cba3727Built:        Sun Feb 12 02:40:56 2017OS/Arch:      linux/amd64Experimental: false

这样Docker就安装成功了。

使用阿里云加速Docker

Docker官方镜像网站部署在外网,因此我们国内下载比较慢。看了一下国内最好的Docker加速服务就是阿里云了。阿里云的其他镜像比如Maven镜像之类的也都不错。

首先需要注册一个阿里云的帐号,可能还需要其他一点信息。然后进入容器Hub服务控制台,中间有一个加速器。我们点击它之后,阿里云会为我们创建一个专属加速器地址。

然后需要检查Docker客户端的版本,如果小于1.10,只能按照自己系统版本寻找相应的办法了。如果大于等于1.10,就可以直接使用下面的配置方法。配置方法很简单,在/etc/docker/daemon.json中添加一段配置。如果没有该文件则创建。

{"registry-mirrors": ["<your accelerate address>"]
}

然后重启Docker服务。

sudo systemctl daemon-reload
sudo systemctl restart docker

下载Gitlab

配置好加速器之后,下载就很快了。直接执行下面的命令,稍等片刻之后,Docker就会将Gitlab下载好了。

sudo docker pull gitlab/gitlab-ce:latest

启动Gitlab

用下面的命令启动一个默认配置的Gitlab。如果我们只在本机测试使用的话,将hostname替换为localhost。如果需要让外部系统也能访问的话使用外网IP地址。

sudo docker run --detach \--hostname gitlab.example.com \--publish 443:443 --publish 80:80 --publish 22:22 \--name gitlab \--restart always \--volume /srv/gitlab/config:/etc/gitlab \--volume /srv/gitlab/logs:/var/log/gitlab \--volume /srv/gitlab/data:/var/opt/gitlab \gitlab/gitlab-ce:latest

首次启动可能比较慢,需要等待一分钟左右的时间。我们可以使用sudo docker ps命令查看当前所有Docker容器的状态。当它的状态由starting变为运行时间时,说明成功启动了。我们直接使用上面配置的IP地址(如localhost)在浏览器中访问即可。

初次使用需要我们创建默认管理员密码,随便指定一个就行了。然后我们需要注册一个普通用户。以后的使用方法和Github这样的工具很相似了。

配置Gitlab

刚刚启动Gitlab的时候需要我们输入一个密码,这个密码是管理员用户的密码。我们在登录那里使用root作为用户名,然后用刚刚设置的密码,就可以以管理员身份登录Gitlab。

登录进去之后,点击右上角的齿轮图标,即可进入到管理员页面。在这里我们可以设置很多东西。比如说,默认情况下每个用户只能创建10个仓库,我们可以改变这个设置。在管理员页面点击右面的齿轮,再点击设置,就会进入到系统设置中。然后找到Default projects limit一项,我们给它设个小目标,设它一个亿,这样就相当于无限仓库了。当然如果你实际硬盘满了也就不能在创建更多项目了。

如果这些配置还是不能满足你的需求的时候,还可以直接配置Gitlab。首先进入到Docker环境中。我们使用下面的命令进入Docker环境的bash中。gitlab是刚刚指定的Gitlab名称。

sudo docker exec -it gitlab /bin/bash

然后就进入了Docker的环境中,我们可以把它当作一个独立的系统来使用。然后编辑/etc/gitlab/gitlab.rb文件,这是Gitlab的全局配置文件。所有选项都可以在这里配置。

nano /etc/gitlab/gitlab.rb

详细的配置方法我也不会,直接看官方文档吧。

更新Gitlab

以后如果需要更新Gitlab版本,首先需要停止并删除当前的Gitlab实例。

sudo docker stop gitlab
sudo docker rm gitlab

然后在拉取最新版的Gitlab。

sudo docker pull gitlab/gitlab-ce:latest

然后在使用上次的配置运行Gitlab即可。不用担心数据会丢失。只要你的volume参数指定还和上次一样,Gitlab就会自动读取这些配置。

sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest

最后来看看使用Docker的优势。还是在Gitlab的Bash中。我们依次输入下面的命令,看看有什么反应。

ruby --version
git --version
redis-cli --version
psql --version

不出意外的话应该会显示对应软件的版本。我们看到Gitlab使用了4个开源软件或运行环境:ruby、git、redis和postgresql。如果我们手动安装Gitlab的话,这几个软件也必须分别安装和配置好。这个任务的难度可是非常大的。而且如果需要在多台机器上配置,那么任务量就更大了。但是如果使用Docker的话,我们甚至完全没必要知道这几个软件的存在,简单两条命令即可创建和运行Gitlab。这正是Docker的魅力,难怪现在越来越多的公司在使用Docker。

看到有个貌似不错的Docker教程,大家可以看看。

参考资料

  • https://yq.aliyun.com/articles/29941
  • https://docs.gitlab.com/omnibus/docker/README.html#gitlab-docker-images

用Docker安装Gitlab相关推荐

  1. 解决 Windows Docker 安装 Gitlab Volume 权限问题

    解决 Windows Docker 安装 Gitlab Volume 权限问题 参考文章: (1)解决 Windows Docker 安装 Gitlab Volume 权限问题 (2)https:// ...

  2. 群晖NAS教程(十六)、利用Docker安装GitLab管理代码工具

    为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客 群晖NAS教程(十六).利用Docker安装GitLab管理代码工具 群晖DSM上安装GitLab有两种方式,一种是直接在群晖套件上安装,另一种是 ...

  3. 使用docker安装gitlab以及gitlab简单使用

    使用docker安装gitlab以及gitlab简单使用 docker 安装gitlab以及使用 1.创建主机映射目录 2.gitlab镜像拉取 3.运行gitlab镜像 4.配置 5.配置ssl支持 ...

  4. docker安装gitlab中文版(gitlab-ce:11.3.0-ce.0社区版)

    docker安装gitlab中文版(gitlab-ce:11.3.0-ce.0社区版) 1.安装docker: yum install docker 2.拉取gitlab中文镜像 docker pul ...

  5. 使用Docker安装Gitlab,Jenkins,Tomcat搭建流水线项目环境,实现DevOps自动化步骤,很详细

    使用Docker安装Gitlab,Jenkins,Tomcat搭建流水线项目,实现DevOps自动化 写在前头,入职公司不久,发现公司都是用的Jenkins来实现自动化项目部署,十分方便,但作为底层开 ...

  6. CeneOS中使用Docker安装Gitlab

    场景 CentOS7中Docker的安装与配置: CentOS7中Docker的安装与配置_BADAO_LIUMANG_QIZHI的博客-CSDN博客 首先按照上面在CentOS7中安装Docker ...

  7. 群晖docker安装cms_Nas码农篇:群晖Docker安装Gitlab

    Git大多数码农来说都很熟悉,团队协作开发必备.今天来分享下在群晖Docker上安装gitlab. 群晖上安装gitlab有两种方式,一种是直接安装套件中心的gitlab,另一种是在docker中自定 ...

  8. Docker安装Gitlab服务器并配置使用(完整版)

    一.安装及配置 1.1 Gitlab镜像拉取 docker pull gitlab/gitlab-ce 拉取最新稳定版本 [root@nb001 ~]# docker pull gitlab/gitl ...

  9. docker 安装gitlab

    sudo docker pull gitlab/gitlab-ce:latest 启动Gitlab 用下面的命令启动一个默认配置的Gitlab.如果我们只在本机测试使用的话,将hostname替换为l ...

最新文章

  1. 命令行的“迅雷”,提升百倍以上下载速率
  2. SQL Server 2005的服务器角色(public)的问题
  3. volatile变量与普通变量的区别
  4. Android开发工具新接触
  5. 每日站立会议(第六天)
  6. MySQL运维系列 之 如何监控大事务
  7. linux spi驱动分析 三,Linux下SPI驱动分析
  8. 自学Python能干些什么副业
  9. 记一次SVN误删除操作和Tomcat版本与操作系统不兼容 问题分析及解决的过程
  10. 计算机组成原理AB什么运算,2010~2011学年武汉大学计算机组成原理AB类AB卷及答案...
  11. 学习hibernate(五) -- hibernate映射关系
  12. Kafka笔记1(初步认识)
  13. php中的字符串可以当做数组调用
  14. 4、matplotlib中的子图相关subplot
  15. document.documentElement.clientHeight与document.body.clientHeight的区别
  16. nodejs爬虫实战_实战nodejs写网络爬虫
  17. 【Delphi Stringgrid 设置表格文字居中后有重影,去除重影方法】
  18. USACO健康的荷斯坦奶牛(DFS,二进制暴力枚举)
  19. Docker-----网络模式与资源控制管理
  20. Linux根据关键字批量杀进程

热门文章

  1. 微软:97%电子邮件属于垃圾邮件
  2. 进程间通信(IPC)学习
  3. Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook
  4. 前端基于浏览器存储的AJAX性能优化
  5. 在docker中使用MySQL数据库
  6. 自己动手写一个印钞机 第四章
  7. Java基础--类与对象
  8. linux运维实战练习-2016年3月4日-3月19日课程作业(练习)安排
  9. this.blur()
  10. Installshield建立IE快捷方式的方法