Docker部署Gitlab11.10.4


1、下載鏡像

官方鏡像地址:https://hub.docker.com/r/gitlab/gitlab-ce ,根據自己需要下載指定版本

[root@vanje-dev01 ~]# docker pull gitlab/gitlab-ce:11.10.4-ce.0

鏡像大小接近2個G,下載速度取決於宿主機網絡,耐心等待即可。

2、啟動

[root@vanje-dev01 ~]# docker run -d \
     -p 18443:443 \
     -p 18080:80 \
     -p 12222:22 \
     --name gitlab \
     --restart always \
     -v /opt/gitlab/config:/etc/gitlab \
     -v /opt/gitlab/logs:/var/log/gitlab \
     -v /opt/gitlab/data:/var/opt/gitlab \
     gitlab/gitlab-ce:11.10.4-ce.0

-p端口映射,前面為宿主機端口,后面為容器端口;-v 是目錄掛載,把容器中gitlab數據進行持久化設置;宿主機目錄無需創建,容器運行時,如果對應目錄不存在,會默認創建。

3、修改Gitlab訪問地址

docker安裝gitlab,創建項目時,默認項目URL訪問地址顯示的是容器主機地址(容器id),所以我們需要修改為一個固定可以外部訪問的地址及宿主機地址,這樣才可以進行pull/push代碼

[root@vanje-dev01 ~]# vim /opt/gitlab/config/gitlab.rb 
### 取消external_url注釋,地址為宿主機地址
external_url 'http://172.16.11.248'

## 重載服務
[root@vanje-dev01 ~]# docker exec -t gitlab gitlab-ctl reconfigure
[root@vanje-dev01 ~]# docker exec -t gitlab gitlab-ctl restart

注意:

  1、上面external_url 地址不要加映射的主機端口號,否則會無法訪問gitlab。

  2、這樣配置在后面添加用戶發郵件通知設置密碼時,會出現gitlab服務url后面的端口丟失不能正常跳轉到gitlab頁面,解決這個問題有兩種方案:  

方案一:
[root@vanje-dev01 ~]# vim /opt/gitlab/data/gitlab-rails/etc/gitlab.yml
## 把端口號修改為映射的主機端口,默認端口為80 host:
172.16.11.248 port: 18080 https: false

## 不要執行reconfigure命令重新加載,否則端口號還是會變為80,直接重啟即可
[root@vanje-dev01 ~]# docker exec -t gitlab gitlab-ctl restart

  還有一種方式就是在容器啟動時傳遞環境變量設置gitlab訪問地址及端口,這樣也不需要再進行external_url地址修改(推薦使用這種方式) 

方案二:
### 刪除之前容器重新創建
[root@vanje-dev01 ~]# docker rm -f gitlab
[root@vanje-dev01 ~]# rm -rf /opt/gitlab/
[root@vanje-dev01 ~]# docker run -d \ --env GITLAB_OMNIBUS_CONFIG="external_url 'http://172.16.11.248:18080/';" \ -p 18443:443 \ -p 18080:18080 \ -p 12222:22 \ --name gitlab \
--restart always \
-v /opt/gitlab/config:/etc/gitlab \ -v /opt/gitlab/logs:/var/log/gitlab \ -v /opt/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:11.10.4-ce.0

注意:這種方式端口映射時直接就映射為自己想要的端口,因為我們啟動時,已經把gitlab在容器內的端口設置為18080了

4、訪問

訪問地址:http://172.16.11.248:18080

第一次訪問會要求我們設置root密碼,設置好后登陸即可。

5、設置郵箱

gitlab在實際工作使用中,admin新開賬號時,會自動給新賬號綁定的郵箱發送通知郵件,點擊郵件中的鏈接進行激活,首次登陸gitlab會進行密碼設置

[root@vanje-dev01 ~]# vim /opt/gitlab/config/gitlab.rb 
## 找到以下配置項,取消注釋   gitlab_rails[
'smtp_enable'] = true   gitlab_rails['smtp_address'] = "smtp.qiye.aliyun.com"   gitlab_rails['smtp_port'] = 465   gitlab_rails['smtp_user_name'] = "****@vanje.com.cn"   gitlab_rails['smtp_password'] = "****"   gitlab_rails['smtp_domain'] = "vanje.com.cn"   gitlab_rails['smtp_authentication'] = "login"   gitlab_rails['smtp_enable_starttls_auto'] = true   gitlab_rails['smtp_tls'] = true   gitlab_rails['gitlab_email_from'] = "****@vanje.com.cn" ## 新增
[root@vanje-dev01 ~]# docker exec -t gitlab gitlab-ctl reconfigure

注意:這里用的是阿里雲的郵箱,不同的郵箱需要去看郵箱提供商提供的幫助。

  如果想測試下郵箱設置是否成功,進入gitlab容器執行以下操作:

[root@vanje-dev01 ~]# docker exec -it gitlab /bin/bash
root@f16536597cee:/# gitlab-rails console
irb(main):002:0> Notify.test_email('*****@qq.com', 'Message Subject', 'Message Body').deliver_now ### 說明
Notify.test_email(
'收件人郵箱', '郵件標題', '郵件正文').deliver_now

這樣,再創建用戶時,無需設置密碼,gitlab會給用戶綁定 的郵箱發送郵件,點擊設置密碼鏈接,用戶即可自己對gitlab賬號進行密碼設置。

 


免責聲明!

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



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