使用docker安装gitlab

 

 

我这里使用的系统是centos7

首先安装docker,docker-compose(非必须,但是使用它可以简化镜像启动参数),需要注意的是docker-compose安装依赖Python的pip,所以具体操作系统可以具体百度怎么安装,我在这里就不在赘述了!

你想安装哪个gitlab

汉化版:docker pull beginor/gitlab-ce:11.1.4-ce.0

原版:  docker pull gitlab/gitlab-ce

看你选择哪个,汉化版更新比较慢,原版的话就是纯英文

docker pull 的过程会比较久,视网络情况决定!

自定义docker-compose.yml配置文件

 

如上图,具体内容如下:

version: "2"

services:

  gitlab:
  
    build: .
   
    ports:
      - "8443:443"
      - "8090:80"
      - "4422:22"
    container_name: gitlab
    image: gitlab/gitlab-ce:latest
    volumes:
      - /data/gitlab/etc:/etc/gitlab
      - /data/gitlab/log:/var/log/gitlab
      - /data/gitlab/data:/var/opt/gitlab

上面各个参数的含义可自行了解这里就不赘述了

创建完改文件后,在当前目录启动镜像,使用命令

docker-compose up -d

  稍等片刻,打印gitlab 即表示启动镜像成功!

然后使用命令

docker ps

可以看到启动的gitlab镜像!

 

配置gitlab

由于上面我们在docker-compose.yml文件中配置了卷映射,所以我们在修改配置文件的时候,都是在宿主机目录上进行的,当然每个人的映射也会有所区别

所以我下面所讲的修改配置,都是以gitlab容器内的路径来说,各位可以依照自己定制的映射,在宿主机上进行修改配置

 重要的事情说三遍:

下面的地址是容器内的地址,请根据配置在对应的宿主机上的目录内进行修改

下面的地址是容器内的地址,请根据配置在对应的宿主机上的目录内进行修改

下面的地址是容器内的地址,请根据配置在对应的宿主机上的目录内进行修改

 

root@31998c3f2a6e:/# vim /etc/gitlab/gitlab.rb

将external_url 修改为服务器IP地址

将 gitlab_rails 修改为 4422(也就是上面docker-compose.yml配置中跟22对应的端口)

 

 vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml

找到关键字 * ## Web server settings * 

将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址

 

配置完成,这个时候我们进行更新配置

首先要做的是进入容器内部

[root@localhost gitlab]# docker exec -it gitlab bash

进入之后,执行三条命令:

gitlab-ctl reconfigure  #花时间比较多
gitlab-ctl restart    #改IP重启就可以了
gitlab-ctl status  

 

 

接下来访问和配置

当看到启动的容器后,在浏览器输入服务器IP,和上面配置的端口(8090),进行访问 :

一般来说就三种情况:

1.访问不到(这个原因是可能容器还没启动完成,稍稍等待!)

2.页面显示502(这个原因是因为gitlab对服务器配置要求比较高,2g内存只是堪勘够用,建议4g内存,2核。不同的配置支持的用户数量也不一样,所以根据自身情况制定硬件的分配吧)

3.进入设置密码页面(恭喜你,gitlab容器启动成功,这个设置密码设置的是root的密码,设置完成之后就可以直接登录了,root用户可以创建项目和创建用户,如果经常使用github的话,gitlab也会很快上手的)

 关于使用

成功访问之后,就可以试着创建项目了,创建项目前,先把本地的ssh-key配置到gitlab中,这个跟github是一个套路

然后就可以创建项目了,这个就比较简单了,就不赘述了,这里我创建了一个Test项目

这里肯定有人会想我这个项目保存到哪里了呢?

gitlab的仓库保存路径,其实是在 /etc/gitlab/gitlab.rb (容器中的路径)文件中的

可以看到,仓库的保存路径是在容器内的 /var/opt/gitlab/git_data中的

而我们在前面docker-compose.yml中的volumes 中配置了

所以我可以在宿主机上找到仓库位置:

可以看到test.git就是我们创建的仓库,他是在宿主机的目录上的,所以当项目很大的时候,可以将 /data/gitlab 单独挂在到一个大的分区,或者挂NAS

需要注意的是路径中的root表示的是创建这个仓库的用户是谁。

当配置好可ssh-key之后就可以使用git clone 去克隆代码了

 

posted @ 2019-06-04 10:45  陈无问  阅读(515)  评论(0编辑  收藏  举报