docker安裝配置gitlab詳細過程

獲取鏡像

1、方法一

1

docker pull beginor/gitlab-ce:11.0.1-ce.0

2、方法二
如果服務器網路不好或者pull不下來鏡像,只能在其它網路比較好的機器上pull下來鏡像,導出成一個文件,
再下載上傳到網路不好的機器上,然後再從文件中導出來,這樣在網絡不好的機器上也能使用docker鏡像了。

 

運行

1、通常會將 GitLab 的配置 (etc) 、 日誌 (log) 、數據 (data) 放到容器之外, 便於日後升級, 因此請先準備這三個目錄。

1

2

3

mkdir -p /mnt/gitlab/etc

mkdir -p /mnt/gitlab/log

mkdir -p /mnt/gitlab/data

2、準備好這三個目錄之後, 就可以開始運行 Docker 鏡像了。 我的建議是使用unless-stopped 作爲重啓策略, 
因爲這樣可以手工停止容器, 方便維護。

完整的運行命令如下:

1

2

3

4

5

6

7

8

9

10

 

 

 

docker run \

    --detach \

    --publish 8443:443 \

    --publish 8090:80 \

    --name gitlab \

    --restart unless-stopped \

    -v /mnt/gitlab/etc:/etc/gitlab \

    -v /mnt/gitlab/log:/var/log/gitlab \

    -v /mnt/gitlab/data:/var/opt/gitlab \

    beginor/gitlab-ce:11.0.1-ce.0

 

 

docker run --detach  --publish 8443:443 --publish 8090:80 --name gitlab  --restart unless-stopped  -v /data/docker/gitlab/etc:/etc/gitlab  -v /data/docker/gitlab/log:/var/log/gitlab -v /data/docker/gitlab/data:/var/opt/gitlab beginor/gitlab-ce:11.0.1-ce.0 

 配置GitLab主機名

1、修改/mnt/gitlab/etc/gitlab.rb

 把external_url改成部署機器的域名或者IP地址

1

vim /mnt/gitlab/etc/gitlab.rb

 

 2、修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

1

vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

找到關鍵字 * ## Web server settings * 

將host的值改成映射的外部主機ip地址和端口,這裏會顯示在gitlab克隆地址

到此爲止,gitlab的web管理頁面就可以正常訪問

如果還是不能正常訪問的話,檢查端口是否被佔用?

端口被佔用(這裏不做)

如果端口號被佔用,改了默認的80端口,後面要接端口號

1

external_url 'http://192.168.182.129:8090' 注:這裏容器內沒改,只是映射到8090

修改NGINX監聽的端口爲9999

1

2

nginx['listen_addresses'] = ['*']

nginx['listen_port'] = 8090

如果8080端口被Tomcat佔用,會出現502的頁面

因此需要修改unicorn的配置,如下

1

2

3

4

5

6

7

### Advanced settings

# unicorn['listen'] = '127.0.0.1'

# unicorn['port'] = 8080

 

# 假設有Tomcat佔用了8080,因此改爲8082試一試

 unicorn['listen'] = '127.0.0.1'

 unicorn['port'] = 8082


修改Gitlab數據存儲路徑(這裏不做)

默認的Gitlab數據存儲路徑,在目錄/var/opt/gitlab/git-data下,防止以後數據過大,所以可以修改路徑存儲爲/data/gitlabData

1

2

3

4

5

6

vim /mnt/gitlab/etc/gitlab.rb

### For setting up different data storing directory

###! Docs: https://docs.gitlab.com/omnibus/settings/configuration.html#storing-git-data-in-an-alternative-directory

###! **If you want to use a single non-default directory to store git data use a

###!   path that doesn't contain symlinks.**

# git_data_dirs({ "default" => { "path" => "/var/opt/gitlab/git-data", 'gitaly_address' => 'unix:/var/opt/gitlab/gitaly/gitaly.socket' } })

1

2

#edited by ouyangpeng 2017-8-10  配置gitlab的數據存儲位置爲/data目錄下,保證硬盤安全

git_data_dirs({ "default" => { "path" => "/data/gitlabData" } })

設置完後,過一段使用時間,可以看到該目錄下的resposities

配置並啓動GitLab

像上面步驟修改了GitLab的ip地址一樣,臨時修改了GitLab的配置之後,得執行如下的命令,應用重新配好的配置並重啓GitLab,然後查看GitLab的狀態。

因爲是容器,所以要進入到gitlab容器中執行命令

1

docker exec -ti gitlab /bin/bash

然後

1

2

3

gitlab-ctl reconfigure  #花時間比較多

gitlab-ctl restart    #改IP重啓就可以了

gitlab-ctl status

登陸

打開瀏覽器,輸入本機的ip地址並登陸

1

http://192.168.182.129:8090

  默認帳戶的用戶名是root,第一次訪問時,將被重定向到密碼重置屏幕,登錄後,您可以更改用戶名。

常用的幾個Gitlab命令

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

# 重新應用gitlab的配置

gitlab-ctl reconfigure

 

# 重啓gitlab服務

gitlab-ctl restart

 

# 查看gitlab運行狀態

gitlab-ctl status

 

#停止gitlab服務

gitlab-ctl stop

 

# 查看gitlab運行日誌

gitlab-ctl tail

 

# 停止相關數據連接服務

gitlab-ctl stop unicorn

gitlab-ctl stop sideki

 

 錯誤

1、docker啓動報錯信息如下

1

Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen<strong>解決:</strong>

解決

檢查docker端口映射是否衝突
重啓docker服務後再啓動容器

1

2

systemctl restart docker

docker start gitlab

 

參考文檔

docker安裝中文版的gitlab
https://hub.docker.com/r/beginor/gitlab-ce/

轉載自 https://www.cnblogs.com/zuxing/articles/9329152.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章