#云原生征文# 如何使用Docker在鲲鹏服务器上搭建gitlab 原创 精华

拓维信息_hyh
发布于 2022-5-19 10:59
浏览
6收藏

@toc

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

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
已于2022-5-19 10:59:40修改
7
收藏 6
回复
举报
3条回复
按时间正序
/
按时间倒序
民之码农
民之码农

666

4
回复
2022-5-20 08:28:20
鸠摩智粉丝
鸠摩智粉丝

顶顶顶

4
回复
2022-5-20 09:39:00
民之码农
民之码农

好文章,赞起!

2
回复
2022-5-26 08:13:18
回复
    相关推荐