1. 程式人生 > >Docker入門實戰(二)——搭建gitlab伺服器

Docker入門實戰(二)——搭建gitlab伺服器

 

一、 安裝gitlab

sudo docker run --detach --hostname gitlab.example.com --privileged=true   \
--publish 18083:443 --publish 18081:80 --publish 18082: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

--detach(-d):後臺執行,並返回容器ID

--privileged=true:特殊許可權執行,允許檔案掛載

--publish(-p) :埠對映

--name:指定容器名稱

--restart always:docker啟動時執行容器

--volume(-v):檔案掛載對映

最後一位:容器的映象來源

#管理員賬號:root

二、 配置IP

第一步、修改gitlab.yml檔案 

vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

第二步、修改gitlab.rb檔案

vim /etc/gitlab/gitlab.rb 

最後,重啟服務:gitlab-ctl restart

三、 配置郵件服務

第一步、安裝sendMail:傳送門

第二步、修改gitlab配置檔案(最好進入容器內修改),進入vim /etc/gitlab/gitlab.rb,修改GitLab email server settings,最後重啟gitlab:/opt/gitlab/bin/gitlab-ctl reconfigure;

#配置163郵件伺服器
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "
[email protected]
" gitlab_rails['smtp_password'] = "xxx" gitlab_rails['smtp_domain'] = "163.com" gitlab_rails['smtp_authentication'] = :login gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['gitlab_email_from'] = "[email protected]" user["git_user_email"] = "xxx"

四、減少記憶體佔用

1、減少程序數

修改配置檔案/etc/gitlab/gitlab.rb中的worker_processes:

unicorn['worker_processes'] = 2

預設是被註釋掉的,官方建議該值是CPU核心數加一,可以提高伺服器的響應速度,如果記憶體只有4G,或者伺服器上有其它業務,就不要改了,以免記憶體不足。另外,這個引數最小值是2,設為1,伺服器可能會卡死。

2、減少資料庫快取

postgresql['shared_buffers'] = "256MB"

預設為256MB,可適當改小

3、減少資料庫併發數

postgresql['max_worker_processes'] = 8

預設為8,可適當改小

4、減少sidekiq併發數

sidekiq['concurrency'] = 25

預設是25,可適當改小

5、啟用Swap分割槽

使用Swap的方法,請自行搜尋

需要注意的是,修改完配置以後,需要執行下面的命令使配置生效:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart