docker部署gitlab


 

一、前提條件

(1)     存在docker

(2)     服務器可以聯網(外網)

(3)     服務器內存至少4G(內存不夠會出現502錯誤)

內存不足502錯誤如下圖所示:

 

 

 

二、安裝

本次安裝在CentOS7下進行,下面的命令建議復制到記事本后再從記事本復制

 

# 1、查找GitLab鏡像

docker search gitlab

# 2、拉取gitlab docker鏡像 

docker pull gitlab/gitlab-ce:latest

  

# 3、運行GitLab並運行容器 

docker run \
 -itd  \
 -p 9980:80 \
 -p 9922:22 \
 -v /usr/local/gitlab-test/etc:/etc/gitlab  \
 -v /usr/local/gitlab-test/log:/var/log/gitlab \
 -v /usr/local/gitlab-test/opt:/var/opt/gitlab \
 --restart always \
 --privileged=true \
 --name gitlab-test \
 gitlab/gitlab-ce

  

命令解釋:
-i  以交互模式運行容器,通常與 -t 同時使用命令解釋:

-t  為容器重新分配一個偽輸入終端,通常與 -i 同時使用

-d  后台運行容器,並返回容器ID

-p 9980:80  將容器內80端口映射至宿主機9980端口,這是訪問gitlab的端口

-p 9922:22  將容器內22端口映射至宿主機9922端口,這是訪問ssh的端口

-v /usr/local/gitlab-test/etc:/etc/gitlab  將容器/etc/gitlab目錄掛載到宿主機/usr/local/gitlab-test/etc目錄下,若宿主機內此目錄不存在將會自動創建,其他兩個掛載同這個一樣

--restart always  容器自啟動

--privileged=true  讓容器獲取宿主機root權限

--name gitlab-test  設置容器名稱為gitlab-test

gitlab/gitlab-ce  鏡像的名稱,這里也可以寫鏡像ID

 

# 重點:接下來的配置請在容器內進行修改,不要在掛載到宿主機的文件上進行修改。否則可能出現配置更新不到容器內,或者是不能即時更新到容器內,導致gitlab啟動成功,但是無法訪問

# 4、進入容器內

docker exec -it gitlab-test /bin/bash


# 5、修改gitlab.rb (先查看下一個步驟再決定是否進行本步驟,本步驟是可以跳過的) 

# 打開文件
vi /etc/gitlab/gitlab.rb

# 這個文件是全注釋掉了的,所以直接在首行添加如下配置
 
# gitlab訪問地址,可以寫域名。如果端口不寫的話默認為80端口 (圖片上拼寫錯誤,正確的是external_url)
external_url 'http://192.168.52.128:9980'
# ssh主機ip
gitlab_rails['gitlab_ssh_host'] = '192.168.52.128'
# ssh連接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922

   

 

 

# 6、修改gitlab.yml (這一步原本不是必須的,因為gitlab.rb內配置會覆蓋這個,為了防止沒有成功覆蓋所以我在這里進行配置,當然你也可以選擇不修改gitlab.rb直接修改這里)

# 打開文件
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

 

# 配置一:找到gitlab標簽,將其子標簽如下修改
# 配置解釋:

# host:訪問的IP

# port:訪問的端口

# 以上兩個和gitlab.rb內external_url的配置保持一致

# ssh_host:ssh主機ip,和gitlab.rb內gitlab_rails['gitlab_ssh_host']保持一致

 


# 配置二:找到gitlab_shell標簽下的ssh_port,將其修改為9922
#(和gitlab.rb內gitlab_rails['gitlab_shell_ssh_port'] 保持一致)
# 保存並退出
:wq

 

 

 

 

 

 

# 7、讓修改后的配置生效

gitlab-ctl reconfigure

  

# 8、重啟gitlab 

gitlab-ctl restart

  

# 9、退出容器 

exit

  

# 10、在游覽器輸入如下地址,訪問gitlab(eaxternal_url配置的就是這個) 

http://192.168.52.128:9980

如果訪問不成功的話: 

(1)     進入容器查看gitlab.rb和gitlab.yml文件是否配置成功

(2)     查看防火牆是否開放9980、9922端口

 

# 11、第一次訪問默認是root賬戶,會需要修改密碼(密碼至少8位數,出現如下界面就基本上部署成功了)

 

 

 

 

 

# 12、輸入新密碼后進行登錄

root/gitlab123456

 

 

# 13、登錄后界面如下圖,創建一個新項目

 

 


# 14、輸入信息,創建項目

 

# 15、檢查這里兩處的ip的端口是否是你配置的

 

 

如果這里兩處的端口和ip和配置的不一樣,再次進入容器檢查gitlab.yml文件

如下圖顯示:

 

 

 

 

 

若不一樣,將其修改為你的配置,然后:wq,再進行下面的操作

gitlab-ctl reconfigure

gitlab-ctl restart

  

# 16、安裝到此結束

 

 

三、關閉用戶注冊

1、使用root用戶登錄gitlab

 

2、點擊【Admin Area】 

 

 

 

3、點擊【Settings】 

 

 

 

4、點擊Sign-in restrictions這一欄的【Expand】

 

 

5、取消勾選

 

 

 

6、往下滑動,找到保存按鈕,點擊保存

 

 

7、進入登錄界面,發現注冊的窗口已經消失了

 

 

 

四、郵件配置

 未完成~~~

 

五、自動備份配置

 未完成~~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM