拥抱ARM64:Harbor镜像仓库的全新体验
项目地址:https://gitcode.com/gh_mirrors/ha/harbor-arm64
项目介绍
harbor-arm64
是一个基于 goharbor/harbor
项目的 ARM64 架构适配版本。该项目在 v1.9.3
版本的基础上进行了深度定制和优化,使其能够在 ARM64 架构的服务器上稳定运行。无论是华为的 Thaishan V2280H 还是其他 ARM64 服务器,harbor-arm64
都能为你提供一个高效、稳定的镜像仓库解决方案。
项目技术分析
harbor-arm64
的核心技术在于其对 ARM64 架构的全面支持。通过对基础镜像、构建工具链、环境变量等多个方面的调整,项目成功地将 Harbor 镜像仓库移植到了 ARM64 平台上。具体的技术改动包括:
- 基础镜像更换:将基础镜像从原来的版本更换为支持 ARM64 的 Photon 3.0。
- 构建工具链优化:在 Makefile 中设置了
BUILDBIN
为true
,并添加了REGISTRY_SRC_TAG
环境变量,确保构建过程的顺利进行。 - 路径调整:对多个 Dockerfile 中的路径进行了调整,确保二进制文件的正确放置。
- 依赖管理:将
dep
工具从amd64
版本替换为arm64
版本,确保依赖管理的兼容性。 - 多阶段构建:虽然 Node.js 尚未完全支持 ARM64,但项目通过在 x86 机器上完成第一阶段的构建,成功实现了多阶段构建。
- Redis 镜像优化:重新构建了 Redis 镜像,解决了在华为 Kunpeng920 机器上出现的“Unsupported system page size”错误。
项目及技术应用场景
harbor-arm64
适用于以下场景:
- ARM64 服务器环境:如果你正在使用 ARM64 架构的服务器,如华为的 Thaishan V2280H 或鲲鹏920,
harbor-arm64
将是你搭建镜像仓库的理想选择。 - 边缘计算与物联网:随着边缘计算和物联网设备的普及,ARM64 架构在这些领域中占据了重要地位。
harbor-arm64
能够为这些设备提供一个高效、稳定的镜像管理平台。 - 混合架构环境:如果你的环境中既有 x86 架构的服务器,也有 ARM64 架构的服务器,
harbor-arm64
能够帮助你统一管理不同架构的镜像,简化运维工作。
项目特点
- ARM64 全面支持:项目针对 ARM64 架构进行了全面优化,确保在 ARM64 服务器上的稳定运行。
- 高效构建:通过优化构建工具链和路径,项目能够快速完成镜像的构建和部署。
- 多阶段构建:尽管 Node.js 尚未完全支持 ARM64,但项目通过多阶段构建策略,成功实现了 ARM64 平台的适配。
- Redis 镜像优化:解决了在特定 ARM64 服务器上出现的 Redis 错误,确保了镜像仓库的高可用性。
如何运行
你可以通过以下步骤快速启动 harbor-arm64
:
-
克隆仓库:
git clone https://github.com/hzliangbin/harbor-arm64.git
-
构建镜像:
make package_offline -e VERSIONTAG=v1.9.3 PKGVERSIONTAG=v1.9.3 UIVERSIONTAG=v1.9.3 DEVFLAG=false CLAIRFLAG=true
-
下载发布包:你也可以直接下载已发布的包:下载链接。
-
安装指南:详细的安装指南请参考 安装文档。
FAQ
-
sudo: Account or password is expired, reset your password and try again
- 解决方案:这是 Harbor 1.9.3 版本的一个已知问题,解决方法请参考 此文档。
-
no logs are available with the 'syslog' log driver
- 解决方案:修改
yaml
文件中registry
和registryctl
的日志驱动格式为json-file
。
- 解决方案:修改
-
registry | sudo: unable to change expired password: Authentication token manipulation error
- 解决方案:在
yaml
文件中添加以下内容:- type: bind source: /opt/harbor-log-etc/shadow target: /etc/shadow
- 解决方案:在
harbor-arm64
不仅为你提供了在 ARM64 架构上运行 Harbor 镜像仓库的可能性,还通过一系列优化和调整,确保了项目的高效性和稳定性。无论你是边缘计算的开发者,还是混合架构环境的管理员,harbor-arm64
都将是你的得力助手。快来体验吧!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考