Docker安裝GitLab全過程詳解

一姆坚、 前言

  • 1、此文檔主要是在Docker上面安裝GitLab性湿,GitLab 是一個用于倉庫管理系統(tǒng)的開源項目,使用Git作為代碼管理工具满败,并在此基礎(chǔ)上搭建起來的web服務(wù)肤频。

  • 2、GitLab是利用 Ruby on Rails 一個開源的版本管理系統(tǒng)算墨,實現(xiàn)一個自托管的Git項目倉庫宵荒,可通過Web界面進行訪問公開的或者私人項目。它擁有與Github類似的功能净嘀,能夠瀏覽源代碼报咳,管理缺陷和注釋⊥诓兀可以管理團隊對倉庫的訪問暑刃,它非常易于瀏覽提交過的版本并提供一個文件歷史庫。團隊成員可以利用內(nèi)置的簡單聊天程序(Wall)進行交流膜眠。它還提供一個代碼片段收集功能可以輕松實現(xiàn)代碼復(fù)用岩臣,便于日后有需要的時候進行查找。

  • 3宵膨、注意:由于最近公司項目用到Docker架谎,這里也以Docker為例進行詳解,沒有Docker的童鞋們先補習(xí)一下Docker方面的知識點柄驻。

  • 4狐树、此文章不闡述Docker安裝的過程,需要了解的同學(xué)們請參考CentOS Docker 安裝

二、Docker的簡單認(rèn)知

2.1 Docker安裝GitLab的好處

  • 在docker上安裝Gitlab的好處鸿脓,由于網(wǎng)上很多活雷鋒把整個gitlab所依賴的軟件都一起打包好成鏡像(Images)抑钟,我們只需要了解些docker的簡單命令或安裝過程中修改些配置即可

2.2 Docker有哪些優(yōu)勢

Docker五大優(yōu)勢:持續(xù)集成、版本控制野哭、可移植性在塔、隔離性和安全性

  • 對比傳統(tǒng)虛擬機總結(jié)


    對比傳統(tǒng)虛擬機總結(jié)

2.3、Docker 系統(tǒng)架構(gòu)

Docker 使用客戶端-服務(wù)器 (C/S) 架構(gòu)模式拨黔,使用遠程 API 來管理和創(chuàng)建 Docker 容器蛔溃。 Docker 容器通過 Docker 鏡像來創(chuàng)建。
容器與鏡像的關(guān)系類似于面向?qū)ο缶幊讨械膶ο笈c類。


Docker 系統(tǒng)架構(gòu)
Docker

3贺待、安裝前準(zhǔn)備工作

3.1 Linux版本

  • 1徽曲、Linux的版本是以Centos7為主.命令如下:
cat /proc/version
  • 2、命令輸出的結(jié)果信息


    命令輸出的結(jié)果信息

3.2 Docker版本

  • 1麸塞、查看docker的版本命令
docker  version
  • 2 命令輸出的結(jié)果信息


    命令輸出的結(jié)果信息

3.3有哪些加速器服務(wù)進行選擇呢秃臣?

  • 1、目前有阿里哪工、騰訊奥此、網(wǎng)易云這幾個巨頭的容器鏡像服務(wù)做得比較好,服務(wù)比較穩(wěn)定雁比,這里推薦阿里云的容器鏡像服務(wù)稚虎,而且阿里在國內(nèi)的技術(shù)毋庸置疑,而且經(jīng)過安裝過程中可以說比較順利偎捎,如果使用其他的話不敢保證蠢终,經(jīng)過本人嘗試,在過程中遇到docker中文社區(qū)拉下來的鏡像安裝gitlab各種報錯鸭限。

  • 2蜕径、阿里容器鏡像服務(wù)


    阿里容器鏡像服務(wù)

阿里容器鏡像服務(wù)注意事項,如果沒有賬號的童鞋們可以通過注冊一個或者淘寶號可以登錄。

3.4加速器服務(wù)配置步驟

由于CentOs7安裝Docker之后是無daemon.json文件败京,需要自己手動創(chuàng)建一個

  • 1兜喻、創(chuàng)建一個目錄如下命令:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}
EOF
  • 3赡麦、重新加載daemon文件命令:
sudo systemctl daemon-reload
  • 4朴皆、重啟docker服務(wù)命令:
sudo systemctl restart docker
  • 5、開機自動啟動docker服務(wù)命令:
sudo systemctl enable docker

4泛粹、安裝Gitlab準(zhǔn)備工作

4.1獲取gitlab鏡像包

docker pull gitlab/gitlab-ce      這里的Community Edition (CE)表示社區(qū)標(biāo)本,
  • gitlab-ce
  • 這里從阿里鏡像服務(wù)里面拉取gitlab鏡像有點大遂铡,需要耐心等待,下載完鏡像之后通過docker命令可以看到它的大小,可以看到它的文件有1.85G,為什么有那么大呢?因為gitlab集成了很多依賴軟件

4.2 在本機準(zhǔn)備gitlab工作目錄

mkdir -p /home/gitlab/config   創(chuàng)建config目錄
mkdir -p /home/gitlab/logs    創(chuàng)建logs目錄
mkdir -p /home/gitlab/data    創(chuàng)建data目錄

4.3 運行腳本啟動GitLab

docker run --detach \
    --hostname 192.168.1.133 \
    --publish 7001:443 --publish 7002:80 --publish 7003:22 \
    --name gitlab --restart always \
    --volume /home/gitlab/config:/etc/gitlab \
    --volume /home/gitlab/logs:/var/log/gitlab \
    --volume /home/gitlab/data:/var/opt/gitlab 8e28c88b6a21
  • 參數(shù)說明:
參數(shù)名稱 參數(shù)說明
detach 指定容器運行于前臺還是后臺
hostname 指定主機地址晶姊,如果有域名可以指向域名
publish 指定容器暴露的端口,左邊的端口代表宿主機的端口扒接,右邊的是代表容器的端口
name 給容器起一個名字,
restart always 總是重啟
volume 數(shù)據(jù)卷们衙,在docker中是最重要的一個知識點.

備注:8e28c88b6a21代表阿里云拉下的鏡像Id,這里只列舉上面腳本的參數(shù)說明钾怔,詳情請看官方文檔.

4.4 修改gitlab.rb配置文件

  • 按上面的方式,gitlab容器運行沒問題蒙挑,但在gitlab上創(chuàng)建項目的時候宗侦,生成項目的URL訪問地址是按容器的hostname來生成的,也就是容器的id忆蚀。作為gitlab服務(wù)器矾利,我們需要一個固定的URL訪問地址姑裂,于是需要配置gitlab.rb(宿主機路徑:/home/gitlab/config/gitlab.rb)配置有三個參數(shù)如:
external_url 'http://192.168.1.133'
gitlab_rails['gitlab_ssh_host'] = '192.168.1.133'
gitlab_rails['gitlab_shell_ssh_port'] = 7003

注意事項:external_url 和gitlab_rails這兩個ip參數(shù)建議固定操作系統(tǒng)的靜態(tài)不變的IP或說是域名進行配置,假設(shè)IP變得的話在GitLab新建項目的時候男旗,生成的IP還是原來的IP舶斧,此時就無法推送代碼在Gitlab里面

image.png

4.5 進gitlab容器重啟配置服務(wù)

docker exec -it gitlab /bin/bash  進去gitlab容器的命令
gitlab-ctl reconfigure  重置gitlab客戶端的命令
  • 由于我們運行是使用數(shù)據(jù)卷參數(shù)進行運行的,宿主機的gitlab.rb文件修改了剑肯,gitlab的文件會跟著改捧毛,但是容器的文件不會跟著生效,必須要進去容器里面進行命令執(zhí)行让网,重置配置文件比較耗費時間,需要耐心等待师痕,如果時間比較短說明成功率不高溃睹,而且進去容器之后就退出啦。


    gitlab-ctl reconfigure

備注:如上信息如果出現(xiàn)了胰坟,然后等了將近一分鐘的話因篇,恭喜你在docker安裝Gitlab成功通過了.

4.6 gitlab容器命令

  • docker start gitlab 啟動命令
  • docker restart gitlab 重啟命令
  • docker stop gitlab 停止命令
[root@localhost /]#docker restart gitlab   這里重啟容器也需要耐心等待.

4.7 檢查啟動信息

[root@localhost /]# docker ps 
  • docker ps

4.8 再查看本機端口狀態(tài)

netstat -tnl 命令
  • netstat -tnl 命令

4.9 GitLab常用命令

gitlab-ctl reconfigure  // 重新應(yīng)用gitlab的配置
gitlab-ctl restart    // 重啟gitlab服務(wù)
gitlab-ctl status      // 查看gitlab運行狀態(tài)
gitlab-ctl stop      // 停止gitlab服務(wù)
gitlab-ctl tail     // 查看gitlab運行日志

5、打開GiltLab

5.1打開瀏覽器

  • 瀏覽器輸入http://192.168.1.133:7002笔横,如果出現(xiàn)了此界面無問題了竞滓,
    由于gitlab安裝之后需要重置密碼,
重置密碼

5.2 GitLab主界面

GitLab主界面

6吹缔、總結(jié)與建議

  • 1 商佑、以上問題都是根據(jù)搭建GitLab實際情況進行總結(jié)整理,除了技術(shù)問題查很多網(wǎng)上資料通過進行學(xué)習(xí)之后梳理厢塘。

  • 2茶没、在學(xué)習(xí)過程中也遇到很多困難和疑點,如有問題或誤點晚碾,望各位老司機多多指出或者提出建議抓半。本人會采納各種好建議和正確方式不斷完善現(xiàn)況,人在成長過程中的需要優(yōu)質(zhì)的養(yǎng)料格嘁。

  • 3笛求、希望此文章能幫助各位老鐵們更好去了解如何在Docker里面安裝GitLab,也希望自己看了此文章或者通過找資料進行手動安裝效果會更好糕簿。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末探入,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子冶伞,更是在濱河造成了極大的恐慌新症,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件响禽,死亡現(xiàn)場離奇詭異徒爹,居然都是意外死亡荚醒,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門隆嗅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來界阁,“玉大人,你說我怎么就攤上這事胖喳∨萸” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵丽焊,是天一觀的道長较剃。 經(jīng)常有香客問我,道長技健,這世上最難降的妖魔是什么写穴? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮雌贱,結(jié)果婚禮上啊送,老公的妹妹穿的比我還像新娘。我一直安慰自己欣孤,他們只是感情好馋没,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著降传,像睡著了一般篷朵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搬瑰,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天款票,我揣著相機與錄音,去河邊找鬼泽论。 笑死艾少,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的翼悴。 我是一名探鬼主播缚够,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鹦赎!你這毒婦竟也來了谍椅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤古话,失蹤者是張志新(化名)和其女友劉穎雏吭,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陪踩,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡杖们,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年悉抵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摘完。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡姥饰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出孝治,到底是詐尸還是另有隱情列粪,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布谈飒,位于F島的核電站岂座,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏步绸。R本人自食惡果不足惜掺逼,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望瓤介。 院中可真熱鬧,春花似錦赘那、人聲如沸刑桑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祠斧。三九已至,卻和暖如春拱礁,著一層夾襖步出監(jiān)牢的瞬間琢锋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工呢灶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吴超,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓鸯乃,卻偏偏與公主長得像鲸阻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子缨睡,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容