ECS服务器使用Docker运行gitlab详细步骤

环境

  • 阿里云服务器一台 Centos 7.XX 1核两G

  • 已安装好docker环境(这里不详述,我之前的文章有Docker入门全教程,看安装部分即可)

安装gitlab

# 搜索gitlab,在这里我选择是使用人数最多的	gitlab/gitlab-ce
[root@pihao ~]# docker search gitlab --filter=STARS=100
NAME                     DESCRIPTION                                     STARS           
gitlab/gitlab-ce         GitLab Community Edition docker image based …   2924             
sameersbn/gitlab         Dockerfile to build a GitLab image for the D…   1152             
gitlab/gitlab-runner     GitLab CI Multi Runner used to fetch and run…   613             
gitlab/gitlab-ee         GitLab Enterprise Edition docker image based…   189
# 拉取 gitlab/gitlab-ce 镜像
[root@pihao ~]# docker pull gitlab/gitlab-ce
# 拉取成功
[root@pihao ~]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
gitlab/gitlab-ce      latest              100b8f44f2af        2 days ago          1.81GB

运行gitlab

# -p 端口映射(80端口是gitlab内部绑定的端口)
# -v 数据文件挂载
# --name 取别名
[root@pihao ~]# docker run -d  -p 8443:443 -p 8090:80 --name gitlab -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

# 查看gitlab容器是否启动成功
[root@pihao ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS   
95d66d692a4f        gitlab/gitlab-ce    "/assets/wrapper"   51 minutes ago      Up 17 seconds (health: starting)   22/tcp, 0.0.0.0:8090->80/tcp, 0.0.0.0:8443->443/tcp   gitlab
[root@pihao ~]# ok

修改配置文件

  • 修改 /home/gitlab/config/gitlab.rb 的配置
[root@pihao /]# vim /home/gitlab/config/gitlab.rb
[root@pihao /]# 找到	external_url 这个属性配置,将它设置为你的宿主机的地址
[root@pihao /]#	如    external_url 'http://112.74.167.52'
  • 修改 /home/gitlab/data/gitlab-rails/etc/gitlab.yml的配置
# 只需要设置以下的	 host以及port
gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: 112.74.167.52 # 宿主机的ip地址
    port: 8090 # 启动容器时映射的80端口
    https: false

  • OK,设置完毕,这个时候直接访问 gitlab的url即可 http://112.74.167.52:8090 可能第一次启动的时候会报502的错误。莫慌!!!这是因为gitlab刚刚启动,很多功能还没启动起来,过个1分钟再次访问即可!

在这里插入图片描述

OK,完美运行。

但是如果你是阿里云服务器或者腾讯云,而且还是个2G内存的,这个时候你可能快崩溃了,因为你发现启动gitlab之后服务器是在是太卡了,这个时候怎么整呢?

我也是遇到了好多坑,网上浏览了很多博客,发现可以用设置分区来解决。而阿里云、腾讯云服务器默认是没有设置分区的。

# 先暂停一下容器,来设置分区
[root@pihao /]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS   
95d66d692a4f        gitlab/gitlab-ce    "/assets/wrapper"   About an hour ago   Up 10 
[root@pihao /]# docker stop 95d66d692a4f

  • 1、通过一下命令来查看swap分区情况
[root@pihao /]# cat /proc/swaps
Filename                                Type            Size    Used    Priority
[root@pihao /]# 发现没有分区

  • 2、创建swap分区(这里需要等待几秒钟)
# 说明:创建swap大小为 bs * count=4294971392(4G),/data目录若无则自己创建/data目录
[root@pihao /]# dd if=/dev/zero of=/data/swap bs=512 count=8388616

  • 3、通过mkswap命令将上面新建出的文件做成swap分区
[root@pihao /]# mkswap /data/swap
  • 4、查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60
[root@pihao /]# cat /proc/sys/vm/swappiness
0
[root@pihao /]# sysctl -w vm.swappiness=60
  • 5、启用 swap 分区
[root@pihao /]# swapon /data/swap
[root@pihao /]# echo “/data/swap swap swap defaults 0 0” >> /etc/fstab
  • 6、再次查看swap分区是否启动
[root@pihao data]# cat /proc/swaps
Filename                                Type            Size    Used    Priority
/data/swap                              file            4194304 96060   -2
[root@pihao data]#

OK,分区设置成功,这个时候你再使用gitlab发现会流畅很多~~~

分区的设置情况看这个 博客

更多推荐