1. 程式人生 > >Centos7 docker+gitlab(郵箱配置) 記錄

Centos7 docker+gitlab(郵箱配置) 記錄

安裝docker

依次執行下面程式碼,含義分別是:

  1. 安裝docker
  2. 啟動docker服務
  3. 檢視docker狀態(是否啟動)
1.yum install Docker
2.service docker start
3.ps -ef|grep docker

如果能看到docker的啟動資訊,那麼說明安裝成功

使用阿里雲加速Docker

Docker官方映象網站部署在外網,因此我們國內下載比較慢。看了一下國內最好的Docker加速服務就是阿里雲了。阿里雲的其他映象比如Maven映象之類的也都不錯。

首先需要註冊一個阿里雲的帳號,可能還需要其他一點資訊。然後進入容器Hub服務控制檯,中間有一個加速器。我們點選它之後,阿里雲會為我們建立一個專屬加速器地址。

然後需要檢查Docker客戶端的版本,如果小於1.10,只能按照自己系統版本尋找相應的辦法了。如果大於等於1.10,就可以直接使用下面的配置方法。配置方法很簡單,在/etc/docker/daemon.json中新增一段配置。如果沒有該檔案則建立。

然後重啟Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

docker映象安裝gitlab

docker pull gitlab/gitlab-ce:latest

安裝好之後,來看看Docker的版本。

sudo docker version

啟動Gitlab

用下面的命令啟動一個預設配置的Gitlab。如果我們只在本機測試使用的話,將hostname替換為localhost。如果需要讓外部系統也能訪問的話使用外網IP地址。

sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 443:443 --publish 80:80 --publish 22: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

配置Gitlab

剛剛啟動Gitlab的時候需要我們輸入一個密碼,這個密碼是管理員使用者的密碼。我們在登入那裡使用root作為使用者名稱,然後用剛剛設定的密碼,就可以以管理員身份登入Gitlab。

登入進去之後,點選右上角的齒輪圖示,即可進入到管理員頁面。在這裡我們可以設定很多東西。比如說,預設情況下每個使用者只能建立10個倉庫,我們可以改變這個設定。在管理員頁面點選右面的齒輪,再點選設定,就會進入到系統設定中。然後找到Default projects limit一項,我們給它設個小目標,設它一個億,這樣就相當於無限倉庫了。當然如果你實際硬碟滿了也就不能在建立更多專案了。

如果這些配置還是不能滿足你的需求的時候,還可以直接配置Gitlab。首先進入到Docker環境中。我們使用下面的命令進入Docker環境的bash中。gitlab是剛剛指定的Gitlab名稱。

sudo docker exec -it gitlab /bin/bash

然後就進入了Docker的環境中,我們可以把它當作一個獨立的系統來使用。然後編輯/etc/gitlab/gitlab.rb檔案,這是Gitlab的全域性配置檔案。所有選項都可以在這裡配置。

nano /etc/gitlab/gitlab.rb

更新Gitlab

以後如果需要更新Gitlab版本,首先需要停止並刪除當前的Gitlab例項。

sudo docker stop gitlab
sudo docker rm gitlab

然後在拉取最新版的Gitlab。

sudo docker pull gitlab/gitlab-ce:latest

然後在使用上次的配置執行Gitlab即可。不用擔心資料會丟失。只要你的volume引數指定還和上次一樣,Gitlab就會自動讀取這些配置。

sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22: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

重啟gitlab

docker restart gitlab

配置gitlab郵箱

修改gitlab.rb

vi  /etc/gitlab/gitlab.rb

修改資訊

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'] = "xxpassword"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls']=false
##修改gitlab配置的發信人
gitlab_rails['gitlab_email_from'] = "[email protected]"

引數說明

:address - 允許您使用遠端郵件伺服器。只需將其從預設的“localhost”設定更改即可。

:port - 如果您的郵件伺服器無法在埠25上執行,您可以更改它。

:domain - 如果您需要指定HELO域,可以在此處執行。

:user_name - 如果您的郵件伺服器需要身份驗證,請在此設定中設定使用者名稱。

:password - 如果您的郵件伺服器需要身份驗證,請在此設定中設定密碼。

:authentication - 如果您的郵件伺服器需要身份驗證,則需要在此處指定身份驗證型別。這是一個符號和:plain(將傳送密碼Base64編碼), :login(將傳送密碼Base64編碼)或 :cram_md5(組合挑戰/響應機制交換資訊和加密訊息摘要 5演算法來雜湊重要資訊)

:enable_starttls_auto - 檢測SMTP伺服器中是否啟用了STARTTLS並開始使用它。預設為true。

:openssl_verify_mode - 使用TLS時,您可以設定OpenSSL檢查證書的方式。如果您需要驗證自簽名和/或萬用字元證書,這非常有用。您可以使用OpenSSL驗證常量('none’或 ‘peer’)的名稱或直接使用常量(OpenSSL::SSL::VERIFY_NONE或 OpenSSL::SSL::VERIFY_PEER)。:ssl/:tls啟用S​​MTP連線以使用SMTP / TLS(SMTPS:SMTP over direct TLS連線)