docker 部署Gitlab

版权声明:本文为博主原创文章,转载请注明来源。开发合作联系82548597@qq.com https://blog.csdn.net/luanpeng825485697/article/details/82915793

全栈工程师开发手册 (作者:栾鹏)
架构系列文章

1、搜索Gitlab

docker search gitlab

2、下载Gitlab

sudo docker pull gitlab/gitlab-ce:latest

3、查看镜像文件

docker images

4、创建Gitlab挂载目录,在/home/lp/docker/gitlab下分别创建config,logs,data目录
5、创建docker中的网络

docker network create gitlab_net

6、使用镜像启动Gitlab容器

# 启动镜像
docker run -d --net=gitlab_net -p 10443:443 -p 11110:80 -p 10022:22  --name gitlab -v /home/lp/docker/gitlab/config:/etc/gitlab -v /home/lp/docker/gitlab/logs:/var/log/gitlab   -v /home/lp/docker/gitlab/data:/var/opt/gitlab  gitlab/gitlab-ce:latest

7、登录Gitlab,IP为宿主机IP地址http://127.0.0.1:11110如果访问上面的地址页面显示502,一般是端口冲突了,需要修改/home/lp/docker/gitlab/config/gitlab.rb文件,重启docker容器即可。

unicorn['port'] = 8084

再次访问地址,成功的话需要修改root账号的密码,随意设置即可。密码修改成功后,系统进入登录/注册页面这里写图片描述使用root登录后这里写图片描述

默认情况下,使用默认的配置会出现下面的这种错误。所以你会在创建项目的时候无法创建成功,出现503错误。

 error="load linguist colors: open /tmp/gitaly-linguist-path988821911: permission denied"

所以启动以后你还需要进入容器中

docker exec -it xxxxx /bin/bash
chmod -R 777 /tmp

这样就不会出现写入/tmp下文件权限不足的问题。当然你也可以修改配置文件不要使用/tmp目录,不过这个就要你会配置文件了。

配置Gitlab

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

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

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

docker exec -it gitlab /bin/bash

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

更新Gitlab

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

docker stop gitlab
docker rm gitlab

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

docker run -d --net=gitlab_net -p 10443:443 -p 11110:80 -p 10022:22  --name gitlab -v /home/lp/docker/gitlab/config:/etc/gitlab -v /home/lp/docker/gitlab/logs:/var/log/gitlab   -v /home/lp/docker/gitlab/data:/var/opt/gitlab  gitlab/gitlab-ce:latest

我们在Gitlab的Bash中。依次输入相应的命令,可看到下面的结果这里写图片描述
我们看到Gitlab使用了4个开源软件或运行环境:ruby、git、redis和postgresql。如果我们手动安装Gitlab的话,这几个软件也必须分别安装和配置好。这个任务的难度可是非常大的。而且如果需要在多台机器上配置,那么任务量就更大了。但是如果使用Docker的话,我们甚至完全没必要知道这几个软件的存在,简单两条命令即可创建和运行Gitlab。这正是Docker的魅力,难怪现在越来越多的公司在使用Docker。

没有更多推荐了,返回首页