天天看點

#雲原生征文# 如何使用Docker在鲲鵬伺服器上搭建gitlabGuide

(目錄)

Guide

用docker搭建ARM版的gitlab伺服器詳細幹貨教學

一,前言

這篇部落格是我兩年前在其他社群釋出的有關搭建gitlab伺服器的教程,現看到51CTO上有關docker的活動,也來蹭一蹭熱度,哈哈!時隔兩年,技術在不斷發展,如有錯誤,還請各位大佬多多指正!

網上大多是關于在x86的伺服器上搭建gitlab,少有在arm伺服器上搭建的教程,我之前也摸索了很久,結合很多資料,以及在鲲鵬社群看專家的文章,總結了很多幹貨。

二,詳細教學

相關環境背景:鲲鵬伺服器,centOS7

1.在鲲鵬伺服器上搭建docker

1.1 yum安裝gcc相關

yum install gcc

yum install gcc-c++

1.2 解除安裝舊的版本

yum -y remove docker docker-common docker-selinux docker-engine

1.3 安裝需要的軟體包

yum install -y yum-utils device-mapper-persistent-data lvm2

1.4 設定stable鏡像倉庫

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.5 更新yum軟體包索引

yum makecache fast

1.6 安裝docker-ce

yum -y install docker-ce

1.7 啟動docker

systemctl start docker

1.8 測試

docker run hello-world

1.9 配置鏡像加速

如果不配置也行,但是拉取鏡像的速度會很慢

mkdir -p /etc/docker

vim /etc/docker/daemon.json

1.10 擷取雲賬号注冊資訊

擷取自己在阿裡雲上注冊的賬号中編号

(我這裡用的是阿裡雲,你也可以用華為雲,騰訊雲,網易雲等等)

将以下的配置資訊填入建立的json檔案中

{
	"registry-mirrors":["https://{自己的編号}.mirror.aliyuncs.com"]
}
           

1.11 重新啟動下服務

systemctl daemon-reload

systemctl restart docker

2.用docker搭建psql服務

psql資料庫作為gitlab的後端資料庫

2.1 儲存容器内的部分資料

mkdir -p /srv/docker/gitlab/gitlab

2.2 拉psql的鏡像

docker pull postgres:10

2.3 持久化存儲目錄

mkdir -p /srv/docker/gitlab/postgresql

2.4 用鏡像“new”一個psql的容器

password改為自己定義的密碼

docker run --name gitlab-postgresql -d

-p 5432:5432

-e POSTGRES_PASSWORD=password

--volume /srv/docker/gitlab/postgresql:/var/lib/postgresql

postgres:10

2.5 進入容器

docker exec -it gitlab-postgresql psql -U postgres

2.6 配置資料庫

password改為自己定義的密碼

CREATE ROLE gitlab with LOGIN CREATEDB PASSWORD 'password';

CREATE DATABASE gitlabhq_production;

GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production to gitlab;

\c gitlabhq_production;

CREATE EXTENSION IF NOT EXISTS pg_trgm;

2.7 退出容器

\q

3.配置Redis容器

GitLab使用Redis server來實作其鍵值對key-value資料存儲

3.1 拉取Redis容器

docker pull redis:4.0.9

3.2 建立Redis持久化存儲目錄

mkdir -p /srv/docker/gitlab/redis

3.3 啟動容器

docker run --name gitlab-redis -d

--volume /srv/docker/gitlab/redis:/var/lib/redis

redis:4.0.9

4.安裝gitlab鏡像

4.1 擷取

https://github.com/sameersbn/docker-gitlab/archive/11.10.4.tar.gz -O docker-gitlab-11.10.4.tar.gz

4.2 解壓

tar xf docker-gitlab-11.10.4.tar.gz

cd docker-gitlab-11.10.4/

4.3 替換Dockerfile

4.4 替換assets/build/install.sh

4.3,4.4步附件有,直接拿去替換就行

4.5 建構gitlab鏡像

該過程很漫長,耐性等待

docker build -t gitlab .

4.6 檢視鏡像ID

docker images | grep gitlab

4.7 啟動gitlab

請将DB_PASS改為之前自己為資料庫中gitlab使用者定義的密碼。

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'

--env 'DB_ADAPTER=postgresql' --env 'DB_HOST=192.168.1.100'

--env 'DB_NAME=gitlabhq_production'

--env 'DB_USER=gitlab' --env 'DB_PASS=password'

--volume /srv/docker/gitlab/gitlab:/home/git/data

gitlab:11.10.4

4.8 運作驗證

在浏覽器中輸入 你的伺服器IP:10080

會出現gitlab頁面

5.附件

連結:https://pan.baidu.com/s/12cSwn-DXcpeJmrIQkezSuA

提取碼:badl

【本文正在參加雲原生有獎征文活動】,活動連結:https://ost.51cto.com/posts/12598