Docker-Gitlab 安裝部署筆記

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

參考文檔

Docker Compose | Docker 中文指南
Docker-Compose的GitHub

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容