Docker決戰到底-本身動手搭建GitLab服務

1、前言概要git

絕大多數時候咱們只把GitLab做爲一個分佈式的Git代碼管理工具,但其實它還應該發揮出更多的做用。本篇中主要記錄的是基於Docker搭建GitLab服務,而至於它的基本使用以及它應發揮的更多做用,我預計會在後續的實踐中運用起來。接下來咱們步入正題,準備安裝GitLab。docker

2、安裝部署GitLab服務瀏覽器

2.1 下載鏡像less

GitLab有社區版(CE)與企業版(EE)之分,這裏咱們採用社區版。首先按照個人習慣,在肯定使用什麼鏡像後,我就會直接先pull鏡像到宿主機上,使用以下命令:分佈式

$ docker pull gitlab/gitlab-ce:latest工具

這個鏡像有點大,咱們須要耐心等待一段時間。gitlab

等到鏡像pull完成後,你確定知道接下來我要作什麼。沒錯,接下來咱們就要查看一下鏡像的一些詳細信息。在這以前,咱們先來看下剛纔的鏡像,1.78GB,也的確夠大的。3d

而後執行以下命令查看鏡像詳細信息:rest

$ docker inspect gitlab/gitlab-ce:latestcdn

部分截圖以下:

我通常比較關心的是其暴露的端口及數據卷目錄,能夠看到,有幾個咱們須要用來作持久化的數據卷。不知道爲何,在單機環境中我特別喜歡採用映射主機目錄的方式來進行有狀態服務的數據持久化。

執行以下命令,在宿主機建立三個掛載目錄。固然,這個目錄是能夠自動建立的。

$ mkdir -p /docker_volume/gitlab/config

$ mkdir -p /docker_volume/gitlab/data

$ mkdir -p /docker_volume/gitlab/logs

接着咱們準備啓動容器。

2.2 docker命令啓動容器

$ docker run -d --restart=unless-stopped -p 30020:443 -p 30021:80 -p 30022:22
-h 192.168.225.129
-v /docker_volume/gitlab/config:/etc/gitlab
-v /docker_volume/gitlab/data:/var/opt/gitlab
-v /docker_volume/gitlab/logs:/var/log/gitlab
--name gitlab gitlab/gitlab-ce:latest

執行以下命令查看咱們剛纔啓動的容器狀態:

$ docker container ls -f name=gitlab

接下來咱們將經過rancher來管理容器,這裏先刪除容器:

$ docker container rm -f gitlab

2.3 rancher中部署GitLab服務

在往期的 docker決戰到底 系列文章中咱們已經在rancher中部署過好幾回服務了,相信你已經可以熟練使用了,只需根據上面經過docker命令啓動容器的方式映射到rancher服務部署的操做中便可。大體截圖以下:

到此,咱們的GitLab服務已經運行在容器中,咱們能夠隨時刪除或從新啓動容器而不用擔憂咱們的數據會丟失,由於咱們已經把數據持久化到了咱們的宿主機/docker_volume/gitlab目錄中,若是你想進行一下自定義配置也能夠在/docker_volume/gitlab/config目錄下直接進行更改。下面,咱們來訪問一下GitLab的可視化管理界面。

3、可視化管理GitLab

3.1 初始化

瀏覽器訪問:http://192.168.225.129:30021,初次訪問須要從新設置root帳號的密碼,這裏密碼咱們假定設置爲123456(不能太簡單,否則不能設置成功)

密碼設置成功後,便可採用root帳號登陸。登陸後主頁以下圖:

3.2 建立項目

點擊主頁的 [Create a project]建立一個項目,固然在實際工做中使用時還須要先進行一系列用戶權限等設置。

3.3 經過Git工具管理項目

在咱們本地機器上經過git客戶端進行操做

$ git clone http://192.168.225.129:30021/root/test.git/

輸入用戶名root和密碼123456便可克隆成功項目,而後把須要的項目提交推送上去便可,相信每個開發人員都會操做,這裏再也不過多介紹。

4、使用小結

本篇實踐記錄咱們演示了怎麼經過容器部署GitLab以及其簡單的使用,總體來講比較簡單。在後續實踐中,咱們固然不會只把它做爲一個Git版本管理工具來使用,可能更多的仍是會接觸它的CI/CD這一塊功能實踐。若是你有什麼疑問或者文中有什麼錯誤的地方,歡迎在留言區留言。

相關文章
相關標籤/搜索