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 |
?配置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/
總結
以上是生活随笔為你收集整理的docker安装配置gitlab详细过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker 安装 oracle 11g
- 下一篇: 远程导表