#云原生征文# 如何使用Docker在鲲鹏服务器上搭建gitlab 原创 精华
@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
666
顶顶顶
好文章,赞起!