1、此文档主要是在Docker上面安装GitLab,GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
2、GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它超级易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
3、注意:由于最近公司项目用到Docker,这里也以Docker为例进行详解,没有Docker的童鞋们先补习一下Docker方面的知识点。
Docker五大优势:持续集成、版本控制、可移植性、隔离性和安全性
对比传统虚拟机总结

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程 API 来管理和创建 Docker 容器。 Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。

sudo apt-get install docker.io
sudo systemctl start docker.service
sudo vim /etc/docker/daemon.json
#添加一下内容
{
“registry-mirrors”: [“https://registry.docker-cn.com“]
}
#重新加载配置文件
sudo systemctl daemon-reload
#重启docker
sudo systemctl restart docker
sudo systemctl enable docker
sudo docker ps -a # 查看docker下服务启动情况
sudo docker images # 查看images 情况
sudo docker rm 8e28c88b6a21 # 删除实例
sudo docker pull gitlab/gitlab-ce 这里的Community Edition (CE)表明社区标本,

mkdir -p /home/gitlab/config 创建config目录
mkdir -p /home/gitlab/logs 创建logs目录
mkdir -p /home/gitlab/data 创建data目录
docker run --detach
--hostname 172.24.71.106
--publish 7001:443 --publish 7002:80 --publish 7003:22
--name gitlab --restart always
--volume /home/gitlab/config:/etc/gitlab
--volume /home/gitlab/logs:/var/log/gitlab
--volume /home/gitlab/data:/var/opt/gitlab 8e28c88b6a21
| 参数名称 | 参数说明 |
|---|---|
| detach | 指定容器运行于前台还是后台 |
| hostname | 指定主机地址,如果有域名可以指向域名 |
| publish | 指定容器暴露的端口,左边的端口代表宿主机的端口,右边的是代表容器的端口 |
| name | 给容器起一个名字, |
| restart always | 总是重启 |
| volume | 数据卷,在docker中是最重大的一个知识点. |
备注:
8e28c88b6a21代表阿里云拉下的镜像Id,这里只列举上面脚本的参数说明,详情请看官方文档.
external_url http://172.24.71.106
gitlab_rails[ gitlab_ssh_host ] = 172.24.71.106
gitlab_rails[ gitlab_shell_ssh_port ] = 7003
docker exec -it gitlab /bin/bash #进去gitlab容器的命令 gitlab是容器的名字
gitlab-ctl reconfigure 重置gitlab客户端的命令
由于我们运行是使用数据卷参数进行运行的,宿主机的gitlab.rb文件修改了,gitlab的文件会跟着改,但是容器的文件不会跟着生效,必须要进去容器里面进行命令执行,重置配置文件比较耗费时间,需要耐心等待,如果时间比较短说明成功率不高,而且进去容器之后就退出啦。

备注:如上信息如果出现了,然后等了将近一分钟的话,祝贺你在docker安装Gitlab成功通过了.
[root@localhost /]#docker restart gitlab 这里重启容器也需要耐心等待.
[root@localhost /]# docker ps

netstat -tnl 命令

gitlab-ctl reconfigure // 重新应用gitlab的配置
gitlab-ctl restart // 重启gitlab服务
gitlab-ctl status // 查看gitlab运行状态
gitlab-ctl stop // 停止gitlab服务
gitlab-ctl tail // 查看gitlab运行日志


原作者:https://www.jianshu.com/p/0bc9b4755082