Docker-Gitlab
Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。這篇文章是我練習(xí)時(shí),在網(wǎng)上找了很多資料,記錄下來(lái)的筆記,給大家演示一下我的Docker安裝Gitlab的安裝歷程,O(∩_∩)O哈哈~
安裝環(huán)境 :CentOS
服務(wù)器 :騰訊云
通過(guò)Docker Compose安裝Gitlab
Docker Compose是一個(gè)用來(lái)定義和運(yùn)行復(fù)雜應(yīng)用的Docker工具。使用Compose,你可以在一個(gè)文件中定義一個(gè)多容器應(yīng)用,然后使用一條命令來(lái)啟動(dòng)你的應(yīng)用,完成一切準(zhǔn)備工作。
一個(gè)使用Docker容器的應(yīng)用,通常由多個(gè)容器組成。使用Docker Compose,不再需要使用shell腳本來(lái)啟動(dòng)容器。在配置文件中,所有的容器通過(guò)services來(lái)定義,然后使用docker-compose腳本來(lái)啟動(dòng),停止和重啟應(yīng)用,和應(yīng)用中的服務(wù)以及所有依賴服務(wù)的容器。完整的命令列表如下:
-
build構(gòu)建或重建服務(wù) -
help命令幫助 -
kill殺掉容器 -
logs顯示容器的輸出內(nèi)容 -
port打印綁定的開(kāi)放端口 -
ps顯示容器 -
pull拉取服務(wù)鏡像 -
restart重啟服務(wù) -
rm刪除停止的容器 -
run運(yùn)行一個(gè)一次性命令 -
scale設(shè)置服務(wù)的容器數(shù)目 -
start開(kāi)啟服務(wù) -
stop停止服務(wù) -
up創(chuàng)建并啟動(dòng)容器
安裝Docker Compose
運(yùn)行下邊的命令來(lái)安裝 Compose:
curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
注意:如果你在安裝的時(shí)候出現(xiàn)了 “Permission denied” 的錯(cuò)誤信息,這說(shuō)明你的 /usr/local/bin 目錄是不可寫(xiě)的,你需要使用超級(jí)用戶來(lái)安裝。運(yùn)行 sudo -i , 然后運(yùn)行上邊的兩個(gè)命令,然后 exit 退出。
可選,你也可以利用pip方式進(jìn)行安裝。
CentOS上需要先行安裝yum的一個(gè)額外的包,這個(gè)包里面才有Python-pip,缺省的沒(méi)有。運(yùn)行下邊命令檢查L(zhǎng)inux是否安裝Python-pin包:
yum install python-pip
- 本地不存在Python-pin包,執(zhí)行命令:
yum -y install epel-release
- 執(zhí)行成功之后,再次執(zhí)行命令安裝Python-pin包:
yum install python-pip
- 若想對(duì)Python-pin包升級(jí),執(zhí)行命令:
pip install --upgrade pip
- pip工具就安裝好了,就可以安裝Docker-Compose了,執(zhí)行命令:
sudo pip install -U docker-compose
到這里Compose已經(jīng)安裝完成。你可以使用 docker-compose --version 來(lái)進(jìn)行測(cè)試 。
利用Docker Compose安裝Gitlab
利用Docker Compose能夠快速搭建Gitlab,執(zhí)行下面命令配置:
wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml
啟動(dòng)Gitlab,執(zhí)行命令:
docker-compose up
到這里安裝就結(jié)束了;Gitlab安裝完成了,你可以執(zhí)行docker ps來(lái)查看容器的運(yùn)行。
通過(guò)Docker安裝Gitlab
利用Docker下載Gitlab鏡像
首先我們需要先拉取gitlab鏡像到本地:
docker pull sameersbn/gitlab:9.2.5
當(dāng)然也可以使用latest標(biāo)簽去拉取代碼倉(cāng)庫(kù)HEAD中最新的版本:
docker pull sameersbn/gitlab:latest
或者,你可以直接在本地創(chuàng)建鏡像:
docker build -t sameersbn/gitlab github.com/sameersbn/docker-gitlab
建立容器
通過(guò)下面三個(gè)步驟來(lái)啟動(dòng)gitlab、postgresql和redis三個(gè)container。
步驟1. 啟動(dòng)postgresql container:
docker run --name gitlab-postgresql -d \
--env 'DB_NAME=gitlabhq_production' \
--env 'DB_USER=gitlab' --env 'DB_PASS=password' \
--env 'DB_EXTENSION=pg_trgm' \
--volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \
sameersbn/postgresql:9.6-2
步驟2. 啟動(dòng)redis container:
docker run --name gitlab-redis -d \
--volume /srv/docker/gitlab/redis:/var/lib/redis \
sameersbn/redis:latest
步驟3. 啟動(dòng)gitlab container:
docker run --name gitlab -d \
--link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
--publish 10022:22 --publish 10080:80 \
--env 'GITLAB_PORT=10080' --env 'GITLAB_SSH_PORT=10022' \
--env 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \
--env 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' \
--env 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \
--volume /srv/docker/gitlab/gitlab:/home/git/data \
sameersbn/gitlab:9.2.5