(目錄)
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