云计算 | 在ARM64系统上编译安装Gitlab Docker镜像

本文详细介绍了如何在ARM64系统上编译安装Gitlab Docker镜像,解决官方镜像不支持ARM64v8的问题。通过修改Dockerfile和编译脚本,成功构建能在CentOS上运行的Gitlab Docker容器。
摘要由CSDN通过智能技术生成

GitLab 是一个主要由 Ruby on Rails 语言开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问和管理,简而言之就是一个可以私有化部署的 github.com

Gitlab 官方实际上已经提供了 N 种安装和部署的方式,有直接通过操作系统软件源进行安装的,也有通过 Docker 方式部署的,甚至有通过源代码方式自行编译安装的(稍复杂)。

那么为什么这里要选择较复杂的方式呢?因为官方目前构建的软件包或者 Docker 镜像都是基于 X86 架构的,并没有对 ARM64v8 的支持。而通过搜索 Docker Hub 是能够找到构建好的支持 ARM64v8 的 Docker 镜像的,但任然存在一些瑕疵:

  1. 该镜像只能跑在 Ubuntu 系的 Linux 发行版上,在 CentOS 上跑则会出错,因为 Gitlab 使用了 redis,redis 默认依赖 jemalloc,jemalloc 在编译时使用到了操作系统内核 pagesize 参数,Ubuntu 系的 pagesize 是 4K,而 CentOS 则是 64K,在 pagesize 低的系统上编译的软件无法在 pagesize 高的系统上运行。
  2. 即使在 Ubuntu 上能够正常运行,其中个 grafana 组件也会报 Exec format error 错误,这是因为镜像作者在编译时没有注意到其中的 grafana 组件使用的是 X86 的软件包。

基于以上原因,选择自行构建能够在 CentOS 上运行的 Docker 镜像。

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值