arm64 离线部署 Harbor v2.8.2:从拆包到排错完整指南
简介这份资源是面向ARM64架构环境的Harbor容器镜像仓库离线安装包对应Harbor v2.8.2版本适合在边缘计算、物联网及国产化ARM服务器等场景下部署私有镜像仓库的运维与开发人员使用。当目标主机无外网或网络受限时该离线包可帮助用户绕过在线拉取依赖的环节直接完成Harbor服务的安装与初始化。压缩包共包含6个文件以2个sh安装脚本、1个gz镜像归档、1个license许可文件、1个prepare预处理脚本和1个tmpl配置模板为主整体约639.65MB覆盖了从环境准备、镜像导入到服务配置的完整流程。目前已有261人学习下载可作为ARM平台搭建企业级镜像仓库的参考。借助其中的配置模板与安装脚本读者能够快速理解Harbor在ARM架构下的部署结构与参数组织方式减少因架构差异带来的适配成本提升私有仓库的落地效率。1. arm64 离线部署 Harbor为什么 v2.8.2 这个包值得单独拎出来讲在信创、边缘机房、内网 CI 这类场景里arm64 服务器上装 Harbor 是个高频需求但真正卡住人的往往不是 Harbor 本身而是那个harbor-offline-installer-v2.8.2-arm64.tar.gz到底怎么落地。x86 上大家习惯了docker compose up -d一把梭换到 arm 架构镜像拉不动、compose 版本对不上、证书自签被拒一连串问题会集中爆发。这个离线包的价值就在于它把 Harbor 全部组件镜像和安装脚本打包在一起不依赖外网 registry特别适合内网、隔离网、arm 云主机这类环境。适合谁一是要在 arm 服务器上搭私有镜像仓库的运维二是做 arm 镜像分发、需要本地 registry 的 CI 工程师三是搞 arm 验证、需要一套稳定 registry 做基准的测试同学。下面按「包怎么拆 → 环境怎么备 → 怎么装 → 怎么排错 → 怎么进阶」讲透。2. 拆开离线包v2.8.2 arm64 里到底装了什么拿到harbor-offline-installer-v2.8.2-arm64.tar.gz之后别急着解压就装。先搞清楚这个包的结构后面排错才有方向。离线包本质上是「安装器 全部组件镜像 tar」的组合解压后你会看到harbor/目录、prepare脚本、install.sh、harbor.yml.tmpl以及一个装着所有镜像的harbor.v2.8.2.tar.gz。理解这层结构才能判断某次失败是镜像没导入还是配置写错了。2.1 离线包的目录结构与各文件职责解压后典型结构如下不同小版本文件名略有差异但职责一致tar -xzf harbor-offline-installer-v2.8.2-arm64.tar.gz cd harbor ls -lh # 常见内容 # harbor.v2.8.2.tar.gz 所有组件镜像的离线 tar # harbor.yml.tmpl 配置模板必须复制成 harbor.yml 再改 # prepare 生成 docker-compose.yml 的预处理脚本 # install.sh 主安装脚本 # common.sh 公共函数库harbor.v2.8.2.tar.gz是核心里面打包了harbor-core、harbor-portal、harbor-jobservice、registry、registryctl、redis、postgresql、nginx、trivy等镜像。install.sh会先调prepare生成docker-compose.yml再docker load导入镜像最后docker compose up -d拉起服务。注意 v2.8.2 用的是docker composev2 插件语法不是老的docker-compose这点在 arm 机器上尤其容易翻车。2.2 先确认 arm64 环境内核、Docker、Compose 三件套装之前把三件事确认清楚能省掉后面一半的排查时间。# 1. 确认 CPU 架构必须是 aarch64 uname -m # 期望输出aarch64 # 2. 确认 Docker 已装且能跑 docker version docker info | grep -i storage driver # 3. 确认 compose v2 插件可用 docker compose version # 期望Docker Compose version v2.x.x参数说明uname -m返回aarch64才说明是 arm64如果返回x86_64说明你拿错机器了离线包里的镜像全是 arm64 的导入后跑不起来。docker info里的 storage driver 常见是overlay2如果是vfs性能会很差建议换掉。docker compose version如果报docker: compose is not a docker command说明你装的是老版docker-compose二进制需要单独装 compose v2 插件否则install.sh直接失败。提示很多 arm 发行版如麒麟、openEuler自带的 Docker 版本偏旧建议先升级到 20.10 以上compose 插件单独装。2.3 离线包与在线安装的差别为什么内网必须用它在线安装 Harbor 时install.sh会去 Docker Hub 拉镜像内网直接卡死。离线包把这一步替换成docker load从本地 tar 导入完全不碰外网。差别体现在三点一是镜像来源离线包用本地 tar在线走 registry二是网络依赖离线包只需本机 Docker daemon三是版本一致性离线包里的镜像版本和harbor.yml是配套的不会出现拉到的镜像和配置不匹配。这也是为什么标题里强调「离线包」——在 arm 内网环境它几乎是唯一稳妥的路径。3. 从零装起来harbor.yml 配置与 install.sh 执行这一章是核心操作。装 Harbor 的成败八成取决于harbor.yml写得对不对剩下两成是镜像导入和端口冲突。下面按顺序走一遍每一步都给可抄的命令和参数解释。3.1 生成 harbor.yml 并改四个必调参数harbor.yml.tmpl是模板必须先复制再改直接改模板会导致prepare报错。cp harbor.yml.tmpl harbor.yml vim harbor.yml重点改这几处# 1. 访问地址写 arm 服务器的 IP 或域名 hostname: 192.168.209.133 # 2. HTTP 端口默认 80被占用就换 http: port: 80 # 3. HTTPS 配置内网测试可以先注释掉整段 # https: # port: 443 # certificate: /your/certificate/path # private_key: /your/private/key/path # 4. 数据目录和管理员密码 data_volume: /data/harbor harbor_admin_password: Harbor12345参数说明hostname必须写成客户端能访问到的地址写localhost会导致别的机器 push 失败报dial tcp 192.168.209.133: connect: connection refused这类错往往就是这里没对上。http.port如果 80 被 nginx 占了改成 8080 之类但记得后面 push 要带端口。https段内网自签证书容易踩坑测试阶段建议先注释用 HTTP 跑通再上 TLS。data_volume是镜像和数据库落盘位置arm 机器磁盘小的话提前规划。3.2 执行 prepare 与 install.sh 的完整流程配置改完按顺序执行# 1. 预处理生成 docker-compose.yml sudo ./prepare # 2. 正式安装导入镜像并启动 sudo ./install.sh # 3. 查看容器状态 sudo docker compose psprepare会读取harbor.yml生成docker-compose.yml同时校验配置合法性。如果这一步报Cannot connect to the Docker daemon说明没用 sudo 或 Docker 没起。install.sh会先docker load -i harbor.v2.8.2.tar.gz导入所有镜像再docker compose up -d。导入过程在 arm 机器上可能持续几分钟别以为卡死了。docker compose ps里所有容器状态应为Up或healthyharbor-core和harbor-db启动最慢等 1-2 分钟再看。3.3 验证安装登录、打标签、推送一条龙装完必须验证否则等于没装。# 1. 浏览器或 curl 访问 curl -I http://192.168.209.133 # 2. 命令行登录 docker login 192.168.209.133 -u admin -p Harbor12345 # 3. 给本地镜像打标签并推送 docker tag nginx:latest 192.168.209.133/library/nginx:test docker push 192.168.209.133/library/nginx:test参数说明docker login如果报http: server gave HTTP response to HTTPS client说明你用的是 HTTP 但 Docker 默认走 HTTPS需要在/etc/docker/daemon.json里加insecure-registries{ insecure-registries: [192.168.209.133] }改完systemctl restart docker再登录。docker push报dial tcp 192.168.209.133: connect: connection refused多半是 Harbor 没起来或端口不对先docker compose ps确认。推送成功后在 Harbor Web 界面能看到library/nginx仓库说明整条链路通了。4. arm64 装 Harbor 的避坑清单5 个血泪现场这一章全是踩过的坑每条按「现象 → 原因 → 解决」写照着排查能省大量时间。4.1 镜像导入后容器起不来日志报 exec format error现象docker compose up -d后容器反复重启docker logs看到exec format error。 原因镜像架构不对x86 镜像被导到 arm64 机器上或者离线包本身拿错了架构。 解决docker inspect image | grep Architecture确认是arm64。如果显示amd64说明你下的不是 arm64 版离线包重新获取harbor-offline-installer-v2.8.2-arm64.tar.gz。4.2 prepare 报错 Cannot connect to the Docker daemon现象执行./prepare直接报无法连接 Docker daemon。 原因没用 root 权限或 Docker 服务没启动或当前用户不在 docker 组。 解决sudo ./prepare或systemctl start docker后重试。确认docker info能正常输出。4.3 push 报 https 相关错误明明配的是 HTTP现象docker push报server gave HTTP response to HTTPS client。 原因Docker 客户端默认对非 localhost 走 HTTPSHarbor 配的是 HTTP。 解决在/etc/docker/daemon.json加insecure-registries重启 Docker。生产环境建议直接上 TLS别长期用 insecure。4.4 端口 80 被占用导致 nginx 容器起不来现象docker compose ps里 nginx 容器Exit日志报bind: address already in use。 原因宿主机 80 端口被其他服务如系统自带 nginx、apache占用。 解决ss -tlnp | grep :80找到占用进程停掉或改 Harbor 的http.port为 8080重新prepare和install.sh。4.5 磁盘写满导致 postgresql 容器崩溃现象用一段时间后 Harbor 无法登录harbor-db容器挂掉。 原因data_volume所在分区写满postgresql 无法写入。 解决df -h确认分区清理旧镜像或迁移data_volume到大盘。arm 边缘设备磁盘普遍偏小建议一开始就把数据目录挂到大容量分区。5. 进阶离线包升级、镜像清理与 arm 验证技巧装完只是开始长期用还得会升级和清理。Harbor 版本升级在离线场景下有个固定套路下载新版离线包停旧服务导入新镜像迁移数据库再起新服务。关键是数据库迁移不能跳版本v2.8.2 升到更高版本时先确认官方支持的升级路径别直接跨大版本。操作上先docker compose down停掉旧 Harbor备份data_volume里的数据库目录再用新离线包的prepare和install.sh覆盖安装install.sh会自动执行数据库迁移。升级前务必备份这是后悔药。镜像清理方面Harbor 自带垃圾回收但 arm 环境下建议定期手动触发# 进入 harbor-db 容器执行 GC或通过 Web 界面触发 docker exec -it harbor-db psql -U postgres -d registry # 更推荐在 Web 界面系统管理 - 垃圾清理 - 立即清理参数说明GC 会删除没有被任何 tag 引用的 blob释放磁盘。执行前确认没有正在进行的 push否则可能误删。arm 机器磁盘紧张时还可以在harbor.yml里配置storage_service的保留策略按 tag 数量或天数自动清理。做 arm 验证时我习惯用 Harbor 当本地基准 registry把待测镜像先 push 进去再拉出来验证镜像完整性和架构正确性。一个实用技巧是docker manifest inspect查看镜像支持的架构确认是 arm64 再推。另外如果要在多台 arm 机器间同步镜像可以用 Harbor 的复制策略配置目标 registry 后自动同步省去手动 push。最后说个习惯每次装完 Harbor我都会把harbor.yml、docker-compose.yml和当时的docker compose ps输出存一份到/root/harbor-backup/下次出问题直接对比比翻日志快得多。arm 环境变数多留好现场记录就是给自己留退路。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

开源堡垒机Next-Terminal:Web化运维审计与协作平台搭建指南

开源堡垒机Next-Terminal:Web化运维审计与协作平台搭建指南

1. 项目概述:从“查密码半小时”到“一条命令进生产” 先交代一下背景。我手底下管着两百多台服务器,分布在好几个机房和云厂商,既有 CentOS 7 这种老古董,也有 RockyLinux、Ubuntu 22.04 这些新系统。之前很长一段时间&#xff0…

2026/10/9 23:14:56 阅读更多 →
SpringBoot+微信小程序实战:构建智慧社区娱乐服务管理平台

SpringBoot+微信小程序实战:构建智慧社区娱乐服务管理平台

这两年我陆陆续续帮社区、物业做过几套数字化管理的小系统,最常被问到的就是能不能把活动室预约、活动报名、积分兑换这些零碎的事整合到微信里搞定。今天聊的这套智慧社区娱乐服务管理平台,就是基于SpringBoot和微信小程序实现的一套完整解决方案。它解…

2026/10/11 7:44:28 阅读更多 →
Text-to-CAD:用一句话生成参数化三维模型的原理与实操

Text-to-CAD:用一句话生成参数化三维模型的原理与实操

1. 先说结论:text-to-cad到底在解决什么问题“text-to-cad”,字面意思是“用一句话生成CAD模型”,把这个词拆开看,你就能明白它背后想要解决的真实痛点:传统三维建模软件学习成本太高、操作链路太长。一个工程师要在So…

2026/10/11 4:28:49 阅读更多 →

最新新闻

人事管理数据库课程设计:从ER图到SQL实战的完整避坑指南

人事管理数据库课程设计:从ER图到SQL实战的完整避坑指南

简介:这份资源是面向高校计算机及相关专业学生的数据库系统课程设计参考文档,以人事管理系统为背景,帮助读者完成从需求分析到数据库实施的全流程设计训练。内容围绕公司多部门结构下的员工信息管理展开,涵盖需求分析、概念设计、…

2026/10/11 17:39:25 阅读更多 →
Spring Boot + Android酒店预订系统毕业设计全流程实战指南

Spring Boot + Android酒店预订系统毕业设计全流程实战指南

每年这个时间点,都会有一批同学拿着“基于Spring Boot Android的酒店预订系统App”这个题目来找我聊。有的是刚拿到题目不知道从哪下手,有的是代码跑起来一团乱麻,还有的是快答辩了文档和系统对不上。这题目能成为毕业设计里的常青树不是没道…

2026/10/11 17:39:25 阅读更多 →
揭秘 OOOSplat 内置引擎锁定机制:FFmpeg、COLMAP、Brush 的版本与哈希校验

揭秘 OOOSplat 内置引擎锁定机制:FFmpeg、COLMAP、Brush 的版本与哈希校验

桌面应用图形学3D渲染计算机视觉 【免费下载链接】ooosplat A local desktop app that turns videos and images into 3D Gaussian Splats in one click. 项目地址: https://gitcode.com/gh_mirrors/oo/ooosplat 点击查看 免费下载 OOOSplat 是一款一键将视频和图片…

2026/10/11 17:39:25 阅读更多 →
训练后效果如何验证?DataArc SynData Toolkit集成DeepEval三大评估指标实战解析

训练后效果如何验证?DataArc SynData Toolkit集成DeepEval三大评估指标实战解析

【免费下载链接】DataArc-SynData-Toolkit Synthetic Data Generation Platform By DataArcTech 项目地址: https://gitcode.com/gh_mirrors/da/DataArc-SynData-Toolkit 点击查看 免费下载 🤔 用合成数据完成 SFT 或 GRPO 训练后,模型到底变…

2026/10/11 17:39:25 阅读更多 →
UVG 4K 视频数据集编码测试实战:从 50fps 到 120fps 的 RD 曲线与码率控制

UVG 4K 视频数据集编码测试实战:从 50fps 到 120fps 的 RD 曲线与码率控制

简介:UVG 4K视频数据集是面向视频编码研究、编解码器开发与画质评测人员的专业测试资源,聚焦高帧率超高清序列在HEVC/H.265与VVC/H.266参考编解码器下的率失真性能与编码复杂度分析。数据集包含16个4K(38402160)自然序列&#xff…

2026/10/11 17:39:25 阅读更多 →
Reverse Engineer Anything:单日狂揽 1w+ Star 的开源逆向工程神器

Reverse Engineer Anything:单日狂揽 1w+ Star 的开源逆向工程神器

1. 引言 最近,一个名为 Reverse Engineer Anything 的开源项目在 GitHub 上爆火,单日狂揽 1w Star,迅速冲上趋势榜前列。它之所以引发如此大的关注,是因为它把「逆向工程」这件事的门槛大幅拉低——让普通开发者也能轻松读懂、复现…

2026/10/11 17:38:24 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →