摘要:安裝這里以發(fā)行版為例,在中輸入一下命令安裝最新的注意如果你使用了阿里云最新推出的鏡像,那么可以省略本節(jié)的步驟。因?yàn)榘⒗镌频倪@個(gè)鏡像已經(jīng)自帶了版的,版本比較新,可以直接使用。
docker用來(lái)隔離應(yīng)用還是很方便的,一來(lái)本身的操作較為簡(jiǎn)單,二來(lái)資源占用也比虛擬機(jī)要小得多,三來(lái)也較為安全,因?yàn)橄駭?shù)據(jù)庫(kù)這樣的應(yīng)用不會(huì)再全局暴露端口,同時(shí)應(yīng)用間的通信通過(guò)加密和端口轉(zhuǎn)發(fā),更加安全。
Gitlab是目前比較流行的開(kāi)源類Github代碼管理平臺(tái)。Gitlab使用Rails開(kāi)發(fā),使用PostgreSQL或MySQL數(shù)據(jù)庫(kù),Redis做緩存。一般自己搭建私有代碼倉(cāng)庫(kù),Gitlab通常是首選。這里簡(jiǎn)單介紹一下dockerized Gitlab。
Gitlab的docker鏡像早已有人做好了,并且維護(hù)相當(dāng)不錯(cuò)。大家可以前往其GitHub倉(cāng)庫(kù)了解該鏡像的情況。官方repo的readme中已經(jīng)有詳細(xì)的安裝配置方案,這里我簡(jiǎn)單的梳理一下部署流程。
安裝Docker這里以Ubuntu 14.04發(fā)行版為例,在bash中輸入一下命令安裝最新的docker:
sudo apt-get purge docker.io curl -s https://get.docker.io/ubuntu/ | sudo sh sudo apt-get update sudo apt-get install lxc-docker
注意: 如果你使用了阿里云最新推出的Docker鏡像,那么可以省略本節(jié)的步驟。因?yàn)榘⒗镌频倪@個(gè)鏡像已經(jīng)自帶了1.2版的docker,版本比較新,可以直接使用。
安裝docker-gitlab使用如下命令可以使Docker下載對(duì)應(yīng)版本的Gitlab鏡像:
docker pull sameersbn/gitlab:7.5.3
上面的命令下載7.5.3版的Gitlab,如果想下載最新版本,可以輸入以下命令:
docker pull sameersbn/gitlab:latest
待下載完成后就算完成安裝了。
也可以Clone剛才的提到的倉(cāng)庫(kù),然后在本機(jī)上build鏡像:
git clone https://github.com/sameersbn/docker-gitlab.git cd docker-gitlab docker build --tag="$USER/gitlab" .
注意上面最后一行命令結(jié)尾有一個(gè)"."符號(hào),不要掉了。
安裝PostgreSQLGitlab推薦使用PostgreSQL作為數(shù)據(jù)庫(kù)。既然使用了docker,那么我們?yōu)楹尾豢紤]把所有的組件都用docker包裝起來(lái)?我們一樣可以下載PostgreSQL的鏡像完成安裝,這種安裝更加便捷。
首先輸入以下命令下載PostgreSQL鏡像:
docker pull sameersbn/postgresql:latest
然后我們要為數(shù)據(jù)庫(kù)默認(rèn)的表空間建立目錄以存放數(shù)據(jù):
mkdir -p /opt/postgresql/data
這里/opt/postgresql/data部分可以替換成你自己希望建立的地址。
如果是使用SELinux,那么還需要改變一下這個(gè)目錄的安全設(shè)置:
sudo chcon -Rt svirt_sandbox_file_t /opt/postgresql/data
如果沒(méi)有使用SELinux,可以跳過(guò)上面一條命令。
最后使用以下命令行啟動(dòng)數(shù)據(jù)庫(kù):
docker run --name=postgresql -d -e "DB_NAME=gitlabhq_production" -e "DB_USER=gitlab" -e "DB_PASS=password" -v /opt/postgresql/data:/var/lib/postgresql sameersbn/postgresql:latest
這里,"-e"選項(xiàng)后面的內(nèi)容請(qǐng)不要隨意變更,這里的配置都是Gitlab默認(rèn)的數(shù)據(jù)庫(kù)配置,如果沒(méi)有在后面Gitlab鏡像啟動(dòng)的設(shè)置里面做相應(yīng)的修改的話,這里的修改會(huì)讓程序無(wú)法正常運(yùn)行。
安裝Redis同樣,我們可以使用docker來(lái)安裝Redis:
docker pull sameersbn/redis:latest
然后啟動(dòng)它:
docker run --name=redis -d sameersbn/redis:latest啟動(dòng)gitlab
在最終啟動(dòng)Gitlab之前,我們還需要為Gitlab創(chuàng)建一個(gè)目錄用來(lái)存放提交上來(lái)的代碼,docker-gitlab內(nèi)部使用/home/git/data這個(gè)目錄存放代碼,我們?cè)谌萜魍獠縿?chuàng)建一個(gè)目錄然后在啟動(dòng)的時(shí)候掛載到這個(gè)路徑即可:
mkdir -p /opt/gitlab/data mkdir -p /opt/gitlab/backups
同樣,如果使用SELinux,需要修改目錄的安全配置:
sudo chcon -Rt svirt_sandbox_file_t /opt/gitlab/data sudo chcon -Rt svirt_sandbox_file_t /opt/gitlab/backups
在完成上面所有的步驟以后,我們可以用以下命令啟動(dòng)Gitlab:
docker run --name="gitlab" -d -e "GITLAB_PORT=10080" -e "GITLAB_SSH_PORT=10022" -e "GITLAB_BACKUPS=monthly" -p 10022:22 -p 10080:80 -v /opt/gitlab/data:/home/gitl/data -v /opt/gitlab/backups:/home/git/data/backups sameersbn/gitlab:7.5.3
上面的命令將使用10080作為Gitlab的Web訪問(wèn)端口,10022將作為ssh push和pull代碼的端口。
在本地可以使用瀏覽器打開(kāi)http://localhost:10080來(lái)訪問(wèn)Gitlab,初始登錄網(wǎng)站使用root賬戶,用戶名為root,密碼為:5iveL!fe,登錄后需要立即修改密碼。
這里解釋一下各參數(shù):
-d: 后臺(tái)運(yùn)行
-e:配置Gitlab運(yùn)行的環(huán)境變量,這個(gè)參數(shù)很重要,具體有哪些環(huán)境變量,后面列舉
-p: 端口轉(zhuǎn)發(fā)規(guī)則
-v: 共享目錄掛載,即docker容器內(nèi)外數(shù)據(jù)共享
Gitlab的環(huán)境變量配置比較多,這里列舉一下比較重要的Gitlab的環(huán)境變量:
GITLAB_HOST: 這個(gè)是Gitlab服務(wù)器的hostname,你需要將此設(shè)定為網(wǎng)站的域名或者ip(不帶端口號(hào)),默認(rèn)值為localhost,這個(gè)值會(huì)被Gitlab用來(lái)生成repo的鏈接,所以必須要設(shè)置。否則,在創(chuàng)建的repo中,會(huì)發(fā)現(xiàn)所有的repo鏈接都是以localhost為hostname。
GITLAB_PORT Gitlab網(wǎng)站的訪問(wèn)端口,這里的設(shè)置要結(jié)合端口轉(zhuǎn)發(fā)一起設(shè)置,否則會(huì)導(dǎo)致網(wǎng)站無(wú)法訪問(wèn),默認(rèn)值為80
GITLAB_SSH_PORT Gitlab的SSH代碼提交方式使用的SSH端口,這里的設(shè)置要結(jié)合端口轉(zhuǎn)發(fā)一起設(shè)置,否則會(huì)導(dǎo)致代碼無(wú)法提交,默認(rèn)值為22。如果是在VPS上部署,這個(gè)值請(qǐng)使用別的端口,比如上面提到的10022端口,否則會(huì)與VPS原本的SSH端口產(chǎn)生沖突,造成SSH無(wú)法登錄VPS
GITLAB_BACKUPS Gitlab的自動(dòng)備份配置,有disable, daily, weekly, monthly四個(gè)可選值,默認(rèn)為disable。建議打開(kāi)自動(dòng)備份
GITLAB_BACKUP_DIR Gitlab自動(dòng)備份目錄,默認(rèn)值為/home/git/data/backups
其他的參數(shù)請(qǐng)參考repo中的README.md.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/26344.html
摘要:最近很火,所以,也跟著未來(lái)的大趨勢(shì)學(xué)下,并將應(yīng)用到項(xiàng)目開(kāi)發(fā)中。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口類似的更重要的是容器性能開(kāi)銷極低。在中搜索搜索的范圍是官方鏡像和所有個(gè)人公共鏡像。的應(yīng)用都是以這種格式發(fā)布到倉(cāng)庫(kù)中,供大家使用。 Docker 最近很火,所以,也跟著未來(lái)的大趨勢(shì)學(xué)下docker,并將docker 應(yīng)用到項(xiàng)目開(kāi)發(fā)中。 一、什么是docker Docker 是一個(gè)開(kāi)...
摘要:介紹搭建與維護(hù)基于鏡像圖片來(lái)自于公社前端,用于頁(yè)面及走或協(xié)議后端服務(wù),采用框架,通過(guò)實(shí)現(xiàn)后臺(tái)服務(wù)及多進(jìn)程開(kāi)啟服務(wù),用于用戶上傳進(jìn)行版本克隆及上傳。 gitlab介紹 GitLab搭建與維護(hù)(基于Docker鏡像sameersbn/docker-gitlab) 圖片來(lái)自于: Linux公社(https://www.linuxidc.com) showImg(https://segment...
摘要:如果查到的不是版的內(nèi)核,可以用來(lái)升級(jí)然后更新啟動(dòng)加載器來(lái)加載新內(nèi)核完成安裝后,重啟宿主機(jī)來(lái)啟用新的內(nèi)核重啟之后,可以用確認(rèn)是否運(yùn)行了新版本內(nèi)核。如果是較低版本的系統(tǒng),需要先更新內(nèi)核。然后重復(fù)上面的步驟即可。 本人的學(xué)習(xí)筆記,主要是對(duì)《我的第一本Docker書(shū)》、《Docker —— 從入門到實(shí)踐》的學(xué)習(xí)記錄,并結(jié)合其他各種資源的學(xué)習(xí)。這次記錄了4種常見(jiàn)系統(tǒng)的Docker安裝方法,這些系...
摘要:是一個(gè)為測(cè)試工程師開(kāi)發(fā)的部署框架,使用語(yǔ)言編寫(xiě),為了解決測(cè)試團(tuán)隊(duì)在測(cè)試過(guò)程中的部署問(wèn)題。部署執(zhí)行方式簡(jiǎn)單,支持命令行與自動(dòng)化測(cè)試可緊密合作作為一個(gè)為測(cè)試工程師開(kāi)發(fā)的部署框架,通過(guò)命令行進(jìn)行自動(dòng)化部署是第一選擇。 ...
摘要:起因某種原因不能使用于是用寫(xiě)了一個(gè)自動(dòng)部署腳本項(xiàng)目介紹用寫(xiě)的部署腳本可配置源代碼目錄目標(biāo)目錄緩存目錄用來(lái)部署后刪除忽略目錄文件他們?cè)诒镜氐淖兓粫?huì)被部署支持可配置版本庫(kù)和分支支持一個(gè)同時(shí)往多個(gè)目錄部署支持手動(dòng)在命令行觸發(fā)支持網(wǎng)頁(yè)界面操作 Summer-PHP-Deploy 起因 某種原因, 不能使用Jenkins, 于是用PHP寫(xiě)了一個(gè)自動(dòng)部署腳本 項(xiàng)目介紹 用PHP寫(xiě)的部署腳本 可...
閱讀 3799·2021-09-23 11:32
閱讀 2466·2021-09-06 15:01
閱讀 1625·2021-08-18 10:24
閱讀 3462·2019-12-27 11:44
閱讀 3611·2019-08-30 15:52
閱讀 2519·2019-08-30 11:11
閱讀 691·2019-08-29 17:27
閱讀 606·2019-08-29 16:22