当前位置: 首页 > news >正文

保姆级教程:在华为欧拉/麒麟系统上,用Docker-compose一键部署Harbor 1.10.2

华为欧拉/麒麟系统下Harbor私有仓库的ARM架构部署实战

在国产化技术生态快速发展的今天,基于ARM架构的服务器正逐渐成为企业级应用的新选择。华为欧拉(openEuler)和麒麟(Kylin)作为国产操作系统的代表,与鲲鹏处理器的结合为私有化部署提供了可靠的基础环境。本文将手把手带您完成Harbor 1.10.2私有镜像仓库在ARM64环境下的完整部署过程,特别针对国产操作系统中的特殊配置进行详细说明。

1. 环境准备与前置条件

部署Harbor前,需要确保系统环境满足基本要求。华为欧拉和麒麟系统虽然源自不同的技术路线,但在软件包管理上都兼容主流的Linux生态。

硬件要求

  • 鲲鹏920或同等ARM64架构处理器
  • 至少4核CPU、8GB内存(生产环境建议16GB以上)
  • 100GB可用存储空间(镜像仓库会随时间增长)

软件依赖

# 验证系统架构 uname -m # 预期输出:aarch64

对于华为欧拉系统,推荐使用20.03 LTS以上版本;麒麟系统建议使用V10 SP2。两个系统都需要配置好基础的开发工具链:

# 欧拉系统 sudo dnf groupinstall "Development Tools" # 麒麟系统 sudo yum groupinstall "Development Tools"

特别注意:国产系统默认的软件源可能不包含最新版本的Docker,需要先配置官方源或国内镜像源:

提示:建议使用华为云或阿里云的镜像源加速软件包下载,具体配置方法可参考各镜像站点的文档

2. Docker环境配置

Harbor依赖于Docker和Docker Compose运行,在ARM架构上需要特别注意版本兼容性。

2.1 Docker引擎安装

对于ARM64架构,建议使用官方提供的静态二进制包安装:

# 下载Docker静态二进制包 curl -fsSL https://get.docker.com -o get-docker.sh # 执行安装 sudo sh get-docker.sh # 设置开机自启 sudo systemctl enable docker sudo systemctl start docker

验证Docker版本及架构支持:

docker version --format '{{.Server.Arch}}' # 应输出:arm64

2.2 Docker Compose安装

由于官方Docker Compose二进制文件不区分架构,可以直接下载通用版本:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose

验证安装:

docker-compose --version # 应显示:docker-compose version 1.29.2

3. Harbor部署准备

Harbor官方镜像默认不支持ARM架构,我们需要使用专门为ARM64编译的镜像。

3.1 获取ARM兼容的Harbor组件

推荐从可信的国内镜像源获取预编译的ARM64镜像包:

wget https://mirrors.aliyun.com/harbor/releases/v1.10.2/harbor-arm64-offline-v1.10.2.tgz tar xzvf harbor-arm64-offline-v1.10.2.tgz -C /opt cd /opt/harbor

目录结构说明:

  • harbor.yml:主配置文件
  • prepare:准备脚本
  • common:共享配置目录
  • docker-compose.yml:服务编排文件

3.2 配置文件调整

修改harbor.yml关键参数:

hostname: your.domain.com # 改为实际域名或IP http: port: 8080 # HTTP访问端口 data_volume: /data/harbor # 数据存储路径 database: password: "StrongPass123" # 数据库密码

对于生产环境,强烈建议配置HTTPS:

https: port: 8443 certificate: /path/to/cert.pem private_key: /path/to/key.pem

4. 部署与验证

4.1 执行安装脚本

运行准备和安装命令:

# 生成配置文件 sudo ./prepare # 启动服务 sudo docker-compose up -d

安装过程会依次启动以下服务:

  1. PostgreSQL数据库
  2. Redis缓存
  3. Registry组件
  4. Core核心服务
  5. Jobservice任务服务
  6. Portal Web界面
  7. Nginx反向代理

4.2 服务状态检查

验证各容器运行状态:

docker-compose ps

预期输出应显示所有服务状态为"Up"。常见问题排查:

  • 数据库连接失败:检查harbor.yml中的数据库密码配置
  • 权限问题:确保/data/harbor目录对10000用户有读写权限
  • 端口冲突:修改harbor.yml中的端口配置

4.3 访问验证

通过浏览器访问配置的地址(如http://your.server:8080),使用默认凭证登录:

  • 用户名:admin
  • 密码:Harbor12345

首次登录后应立即修改密码,并在"系统管理"中配置邮件服务器等必要信息。

5. 生产环境优化建议

5.1 性能调优

修改docker-compose.yml中的资源限制:

services: core: deploy: resources: limits: cpus: '2' memory: 4G

5.2 备份策略

建议定期备份以下数据:

  • 配置文件目录(/opt/harbor
  • 数据卷目录(/data/harbor
  • 数据库dump(通过pg_dump命令)

5.3 高可用方案

对于关键业务环境,可以考虑:

  • 使用外部数据库(如云数据库)
  • 配置共享存储(如NAS或分布式存储)
  • 部署多个Harbor实例并通过负载均衡接入

6. 常见问题解决方案

问题1:容器启动后立即退出

解决方法

# 查看具体容器日志 docker logs harbor-core # 常见原因是配置文件错误,重新运行prepare ./prepare docker-compose up -d

问题2:上传镜像时报权限错误

解决方法

# 确保docker客户端已登录 docker login your.domain.com # 检查SELinux状态 getenforce # 如为Enforcing模式,可临时设置为Permissive setenforce 0

问题3:Web界面访问缓慢

优化建议

  • 增加Nginx的worker进程数
  • 启用Redis缓存
  • 优化前端资源加载

在国产化环境中部署Harbor,最大的挑战往往来自于架构差异导致的兼容性问题。经过实际测试,本文提供的ARM64专用镜像在鲲鹏920处理器上运行稳定,镜像推送和拉取性能与x86架构相当。建议定期检查镜像更新,保持与社区版本的同步。

http://www.jsqmd.com/news/966727/

相关文章:

  • 衡阳市黄金回收店铺TOP5排行榜 2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 - 大熊猫898989
  • 【毕业设计】SpringBoot+Vue+MySQL 球队训练信息管理系统平台源码+数据库+论文+部署文档
  • 忻州市2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 5分钟学会PlantUML编辑器:告别拖拽式绘图,用代码生成专业UML图表
  • MuleSoft企业级AI编排实战:安全可控的LLM集成方法论
  • 宿州市黄金回收店铺TOP5排行榜 2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 - 大熊猫898989
  • 当‘滑头鲍勃’遇上数据安全:用《二十年后》的故事,手把手教你搭建一个简单的Web应用防火墙(WAF)规则
  • 智慧工地AI视觉落地|施工现场建材目标检测开源数据集|无人机航拍建材识别、工地智能化物料盘点深度学习10266期
  • 手机信号好不好,原来和这块‘倒F’金属片有关?聊聊PIFA天线的那些事儿
  • 荆门市2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 芜湖市黄金回收店铺TOP5排行榜 2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 - 大熊猫898989
  • 手把手教你用C++实现PL/0表达式语法分析器(递归下降法+完整源码)
  • 新乡市2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • Ninapro DB2肌电信号分析避坑指南:Matplotlib绘图美化与论文配图实战
  • 舟山市黄金回收店铺TOP5排行榜 2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 - 大熊猫898989
  • 淮南市2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 别再只用SE和CBAM了!手把手教你用PyTorch实现CVPR2021的Coordinate Attention(附完整代码)
  • SAP ABAP锁机制实战:SCOPE参数选错,我的生产数据重复投料了
  • 吴忠市黄金回收店铺TOP5排行榜 2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 - 大熊猫898989
  • 随州市黄金回收店铺TOP5排行榜 2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 - 大熊猫898989
  • 荆州市2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 别再怕抖振了!用Python+Simulink手把手教你搞定滑模控制(SMC)的仿真与调参
  • 别再傻傻全量加载了!GeoServer WMS图层过滤实战:从基础查询到空间分析,一个cql_filter全搞定
  • 呼和浩特市黄金回收店铺TOP5排行榜 2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 - 大熊猫898989
  • 新余市2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 别再乱用SCOPE了!ABAP锁对象与程序锁的实战详解与选择指南
  • 告别BarTender!用C#和POSTEK SDK手搓一个轻量级标签打印工具(附完整源码)
  • 遂宁市黄金回收店铺TOP5排行榜 2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 - 大熊猫898989
  • 景德镇市2026年最新黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 实战避坑:为什么你的小数分频PLL输出频谱总是不干净?聊聊整数边界杂散IBS的成因与排查