本文闡述如何使用docker安裝gitlab官方鏡像,并且實現(xiàn)數(shù)據(jù)卷掛載宿主機自脯,即使容器刪除也不會導(dǎo)致數(shù)據(jù)丟失斤富。
環(huán)境描述
環(huán)境 | 版本 |
---|---|
centos | 7 |
docker | 1.13.1 |
gitlab/gitlab-ce | latest |
① 確保安裝順利,linux先關(guān)閉selinux服務(wù)满力,否則容器內(nèi)部可能權(quán)限不足
vi /etc/selinux/config
-------------------------------
SELINUX=enforcing #注釋掉
SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq! #保存退出
-------------------------------
setenforce 0 #使配置立即生效
② 搜索和下載gitlab鏡像
#搜索鏡像
docker search gitlab
#下載鏡像
sudo docker pull gitlab/gitlab-ce:latest
③ 創(chuàng)建docker中的網(wǎng)絡(luò)
docker network create gitlab_net
④ 使用鏡像創(chuàng)建容器油额,并且使重要數(shù)據(jù)外部掛載到宿主機
docker run --name='gitlab' -d \
--net=gitlab_net \
--publish 1443:443 --publish 18080:80 \
--restart always \
--volume /root/docker/gitlab/config:/etc/gitlab \
--volume /root/docker/gitlab/logs:/var/log/gitlab \
--volume /root/docker/gitlab/data:/var/opt/gitlab \
--privileged=true \
gitlab/gitlab-ce:latest
## 查看容器是否運行起來
docker ps | grep gitlab
參數(shù)解析
1.http端口使用 18080
2.網(wǎng)絡(luò)使用 gitlab_net網(wǎng)絡(luò)
3.將容器內(nèi)部 /etc/gitlab,/var/log/gitlab,/var/opt/gitlab - 掛載到宿主機的 /root/docker/gitlab/config,logs,data 下潦嘶,防止容器被刪除數(shù)據(jù)丟失
4.privileged=true 使用特權(quán)涩嚣,怕什么地方權(quán)限不足掂僵,安裝不順
5./root/docker/gitlab下的config,logs,data沒有的話,創(chuàng)建容器會一并創(chuàng)建
⑤打開瀏覽器看成效
瀏覽器輸入 http://xxx.xxx.xxx.xxx:18080 進行訪問
這樣子就安裝OK了幔睬,輸入賬號密碼進行注冊
常見問題
- 訪問瀏覽器被拒絕芹扭,不要慌 使用 docker logs gitlab 查看日志,看報什么錯冯勉,進行解決
- 訪問返回502,一般情況下是端口沖突
修改gitlab.rb文件宛瞄,設(shè)置端口,重啟容器,稍等一會訪問
#編輯文件
vi /root/docker/gitlab/config/gitlab.rb
#找到 unicorn['port'] = 8080 的地方份汗,修改為不會被占用的端口
unicorn['port'] = 8888
#保存
:wq!
#重啟容器
docker restart gitlab
3.訪問比較緩慢
因為鏡像就有一個多G,每次啟動容器匆帚,重啟旁钧,需要花一段時間等待。
4.訪問還是502
看看CPU占用率歪今,電腦容量,有些情況是因為CPU寄猩、內(nèi)存耗盡導(dǎo)致
使用docker安裝gitlab就到這里,下篇會寫gitlab簡單使用替废,以及git的上傳下載泊柬。