教你如何使用docker构建arm版的gitlab服务器(更新版)

目录

  • Guide
    • 一,前言
    • 二,详细教学
      • 1.在鲲鹏服务器上搭建docker
        • 1.1 yum安装gcc相关
        • 1.2 卸载旧的版本
        • 1.3 安装需要的软件包
        • 1.4 设置stable镜像仓库
        • 1.5 更新yum软件包索引
        • 1.6 安装docker-ce
        • 1.7 启动docker
        • 1.8 测试
        • 1.9 配置镜像加速
        • 1.10 获取云账号注册信息
        • 1.11 重新启动下服务
      • 2.用docker搭建psql服务
        • 2.1 保存容器内的部分数据
        • 2.2 拉psql的镜像
        • 2.3 持久化存储目录
        • 2.4 用镜像“new”一个psql的容器
        • 2.5 进入容器
        • 2.6 配置数据库
        • 2.7 退出容器
      • 3.配置Redis容器
        • 3.1 拉取Redis容器
        • 3.2 创建Redis持久化存储目录
        • 3.3 启动容器
      • 4.安装gitlab镜像
        • 4.1 获取
        • 4.2 解压
        • 4.3 替换Dockerfile
        • 4.4 替换assets/build/install.sh
        • 4.5 构建gitlab镜像
        • 4.6 查看镜像ID
        • 4.7 启动gitlab
        • 4.8 运行验证
      • 5.附件

Guide

用docker搭建ARM版的gitlab服务器详细干货教学

一,前言

网上大多是关于在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

你可能感兴趣的:(docker,服务器,arm)