CentOS 7 使用 Docker 架設 GitLab

閱讀時間約 7 分鐘
GitLab有分為CE(社區版)與EE(企業收費版)兩個版本,差別在EE有多出一些額外功能需要收費,EE的免費功能其實跟GitLab CE一樣,因此可以直接架設 GitLab EE,也許以後會想用收費功能也說不定。
1. 抓取gitlab image:
$ docker pull gitlab/gitlab-ee
2. 在local準備gitlab工作目錄:
$ mkdir -p gitlab/{config,data,logs}

gitlab folder下建立config, data, logs三個folder,這是為了local目錄能與容器內的gitlab工作目錄mapping,以後就不用進到容器。

3. 啟動gitlab:
$ docker run -d \
--name gitlab \
--hostname gitlab \
--restart always \
-p 4443:443 -p 8888:80 -p 2333:22 \
-v /home/vic/gitlab/config:/etc/gitlab \
-v /home/vic/gitlab/data:/var/opt/gitlab \
-v /home/vic/gitlab/logs:/var/log/gitlab \
gitlab/gitlab-ee:latest
-d: 背景執行
--name: 容器名稱
--hostname: 容器内主機名稱
--restart: docker重啟時,容器自動啟動。
-p: port mapping(hostPort:containerPort)
-v: 目錄mapping,HOST-DIR:CONTAINER-DIR
Note: 可先查看目前有哪些port還沒使用:
$ netstat -tnl
查看目錄結構:
$ tree -L 2 /home/vic/gitlab/
若沒有tree先安裝:
$ yum -y install tree
啟動後即可看到這畫面,表示還在建置要等一下:
過一陣子就可以了,第一次使用要重設root密碼:
登入後就可以開始用了!
4. 設定SMTP Server
這主要是要讓gitlab系統能夠登入我們的mail,來寄信給註冊gitlab的user。
在gitlab/config/目錄下找到gitlab.rb打開它,找到gitlab_rails['smtp_xxxx'] 這一個GitLab email server settings的地方:
以ZOHO為例(經測試ok的設定):
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.zoho.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_authentication'] = "plain"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_user_name'] = "username@yourdomain"
gitlab_rails['smtp_password'] = "*"
gitlab_rails['smtp_domain'] = "smtp.zoho.com"
gitlab_rails['gitlab_email_from'] = 'username@yourdomain'
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
5.測試寄信是否正常:
進入gitlab容器:
$ docker exec -it ${container_id} bash

$ gitlab-rails console
這邊要等一下才能下指令

$ Notify.test_email('收件者信箱', '標題', '內文').deliver_now
若出現錯誤: OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=error: wrong version number)
把gitlab_rails['smtp_tls'] 設為false即可!
Note:
重新載入 gitlab 設定檔:
$ gitlab-ctl reconfigure
重啟 gitlab 服務:
$ gitlab-ctl restart
重啟gitlab容器:
$ docker restart gitlab
權限問題可用這個方法修復:
$ sudo docker exec gitlab update-permissions
$ sudo docker restart gitlab
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
21會員
161內容數
留言0
查看全部
發表第一個留言支持創作者!
Vic Lin的沙龍 的其他內容
Environment: GCP Linux version: CentOS 7 Laradock的初衷原是為了將Laravel環境容器化,但隨著時間的演進,慢慢包含了各種常用的工具了,如php-fpm, apache, nginx, mysql, phpmyadmin, redis等等這些常用的東
首先,使用GCP建立VM: Compute Engine -> VM執行個體 設定server配置: 區域, cpu, memory, 開機磁碟, 選擇作業系統, 防火牆等等。 接著編輯VM,設定固定外部IP: 因每當VM重啟,IP就會變動,因此要設定固定IP。 將外部IP從臨時改為建立I
1. 下載stable release的docker-compose binary: curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)"
紀錄一下在CentOS 7 如何安裝Docker。 切換至root: $ su - 1. 設置 Repository: $ yum install -y yum-utils $ yum-config-manager \ --add-repo \ https://download.docker.com
本筆記紀錄如何在Linux(CentOS 8)安裝Nginx, MySQL, PHP環境。...
紀錄一下在Laravel中,如何使用try catch。
Environment: GCP Linux version: CentOS 7 Laradock的初衷原是為了將Laravel環境容器化,但隨著時間的演進,慢慢包含了各種常用的工具了,如php-fpm, apache, nginx, mysql, phpmyadmin, redis等等這些常用的東
首先,使用GCP建立VM: Compute Engine -> VM執行個體 設定server配置: 區域, cpu, memory, 開機磁碟, 選擇作業系統, 防火牆等等。 接著編輯VM,設定固定外部IP: 因每當VM重啟,IP就會變動,因此要設定固定IP。 將外部IP從臨時改為建立I
1. 下載stable release的docker-compose binary: curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)"
紀錄一下在CentOS 7 如何安裝Docker。 切換至root: $ su - 1. 設置 Repository: $ yum install -y yum-utils $ yum-config-manager \ --add-repo \ https://download.docker.com
本筆記紀錄如何在Linux(CentOS 8)安裝Nginx, MySQL, PHP環境。...
紀錄一下在Laravel中,如何使用try catch。
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
陳菊安分享她使用紫妍萃第一型膠原蛋白精華凝露的使用體驗,純粹的第一型膠原蛋白能全面改善肌膚問題,質地輕盈且易吸收,是值得推薦的護膚產品。
Thumbnail
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
Thumbnail
Wix網站設計平台:優缺點解析 Wix架設網站的優點 Wix最大的特色在於其簡單易用的拖放式編輯工具,這使得即便是不會寫程式的新手,也能輕鬆打造出美觀的網站,無論是為品牌還是個人用途。 Wix架設網站的缺點 然而,使用Wix架設網站也有一些缺點。免費版本的功能較為有限,且會有廣告,許多設計模
Jenkins依賴於Java,故安裝Jenkins也要安裝Java。 Jenkins和Java版本相依賴,版本衝突會導致Jenkins安裝、啟動失敗, 先到 Java Support Policy 確認自己想安裝的Jenkins版本和應該要安裝的Java版本 我想安裝最新的Jenkins,此時
Thumbnail
最近有採購幾台 server ,正在進行一些設定的作業,把這些過程都保留下來,之後要再設定就可以回來查看了~~~ 目標 在 Centos Linux 主機上移除 Podman ,並安裝 Docker 解決 首先先確認 Centos 的版本,是 Debian or Fedora cat /
vi /root/php-fpm.sh #!/bin/bash php_url="http://localhost/hscheck.php" RESULT='curl -I $php_url | grep "HTTP/1.1 502"' if [ -n "$RESULT" ]; then
Thumbnail
寫這篇的時候,Spotify正播放到ReN的《We'll be fine》,我想,真的會是這樣嗎? 偷了打字機的達諾被父親抓到警局,坐上移送車,從柵欄窗看向窗外,眼淚潸潸兩行流。這時候,我也不清楚他在想什麼。
Thumbnail
網路隨便估狗都有一堆大神教學文,不過還是紀錄一下自己安裝的步驟 (2021.11.7)身為一個linux和資料庫菜雞只能乖乖腳踏實地一步一步來 準備好環境 (廢話) 1. 先準備好環境 (廢話) 我是用virtualbox起一個CentOS7的虛擬機詳細以參考以下網址,有非常詳盡的步驟
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
陳菊安分享她使用紫妍萃第一型膠原蛋白精華凝露的使用體驗,純粹的第一型膠原蛋白能全面改善肌膚問題,質地輕盈且易吸收,是值得推薦的護膚產品。
Thumbnail
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
Thumbnail
Wix網站設計平台:優缺點解析 Wix架設網站的優點 Wix最大的特色在於其簡單易用的拖放式編輯工具,這使得即便是不會寫程式的新手,也能輕鬆打造出美觀的網站,無論是為品牌還是個人用途。 Wix架設網站的缺點 然而,使用Wix架設網站也有一些缺點。免費版本的功能較為有限,且會有廣告,許多設計模
Jenkins依賴於Java,故安裝Jenkins也要安裝Java。 Jenkins和Java版本相依賴,版本衝突會導致Jenkins安裝、啟動失敗, 先到 Java Support Policy 確認自己想安裝的Jenkins版本和應該要安裝的Java版本 我想安裝最新的Jenkins,此時
Thumbnail
最近有採購幾台 server ,正在進行一些設定的作業,把這些過程都保留下來,之後要再設定就可以回來查看了~~~ 目標 在 Centos Linux 主機上移除 Podman ,並安裝 Docker 解決 首先先確認 Centos 的版本,是 Debian or Fedora cat /
vi /root/php-fpm.sh #!/bin/bash php_url="http://localhost/hscheck.php" RESULT='curl -I $php_url | grep "HTTP/1.1 502"' if [ -n "$RESULT" ]; then
Thumbnail
寫這篇的時候,Spotify正播放到ReN的《We'll be fine》,我想,真的會是這樣嗎? 偷了打字機的達諾被父親抓到警局,坐上移送車,從柵欄窗看向窗外,眼淚潸潸兩行流。這時候,我也不清楚他在想什麼。
Thumbnail
網路隨便估狗都有一堆大神教學文,不過還是紀錄一下自己安裝的步驟 (2021.11.7)身為一個linux和資料庫菜雞只能乖乖腳踏實地一步一步來 準備好環境 (廢話) 1. 先準備好環境 (廢話) 我是用virtualbox起一個CentOS7的虛擬機詳細以參考以下網址,有非常詳盡的步驟