家用住宅主机Linux Harbor私有镜像仓库搭建教程

为什么要在家用主机上搭 Harbor

许多开发者或运维朋友希望在家庭网络里拥有一套私有的镜像仓库,用于同步公共镜像、管理自研容器项目。
Harbor 作为开源的企业级镜像仓库,功能完整(权限、扫描、复制),完全可以在一台普通 Linux 主机上跑起来。
本文假设你只有一台家用电脑或二手服务器,系统为 Ubuntu 20.04/22.04 或 CentOS 7/8,并已装好基础编程环境。
跟着做,你就能得到一个可存可取、支持 HTTPS 访问的私有仓库。

准备阶段:确认硬件与软件

硬件最低要求

  • CPU: 2 核及以上
  • 内存: 推荐 4GB 以上(Harbor 本身 + PostgreSQL + Redis 约占用 1.5GB)
  • 磁盘: 至少 40GB(镜像存储会快速增长)

软件清单

  1. 操作系统: Ubuntu 22.04(本文以此为例)或 CentOS 7。
  2. Docker: 版本 20.10+,含 Docker Compose(可单独安装)。
  3. 域名与证书: 家用环境可用 xxx.local 或自定义内网域名,并使用 Let's Encrypt 或自签证书。
如果没有域名,可在客户端通过修改 hosts 文件临时使用 IP 访问(非 HTTPS 需额外配置)。

第一步:安装 Docker 与 Docker Compose

安装 Docker(Ubuntu)

sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证 Docker 与 Compose

sudo docker --version
sudo docker compose version

(若 docker compose 报错,可改用 docker-compose,但新版已推荐无横杠版本。

第二步:下载 Harbor 并准备配置

  1. 获取最新离线安装包(避免在线下载依赖慢):
   wget https://github.com/goharbor/harbor/releases/download/v2.11.0/harbor-offline-installer-v2.11.0.tgz
   tar zxf harbor-offline-installer-v2.11.0.tgz
   cd harbor
  1. 复制配置文件模板
   cp harbor.yml.tmpl harbor.yml
  1. 编辑 harbor.yml(重点修改以下项):
   hostname: harbor.internal.local   # 改成你的内网域名或 IP(如192.168.1.100)
   http:
     port: 80
   https:
     port: 443
     certificate: /data/cert/server.crt
     private_key: /data/cert/server.key
   harbor_admin_password: YourStrongSecret123!
如果不想用 HTTPS,可将 https 部分整段注释掉,但生产不建议。家用环境建议至少配置自签证书。
  1. 生成自签证书(跳过则直接注释 https)
   mkdir -p /data/cert
   openssl req -newkey rsa:4096 -nodes -sha256 -keyout /data/cert/server.key -x509 -days 365 -out /data/cert/server.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=Home/CN=harbor.internal.local"

证书生成后必须在所有需要 push/pull 的客户端上信任该 CA(否则报 x509 错误)。

第三步:执行安装脚本

sudo ./install.sh

安装过程会拉取 Harbor 所需镜像并启动容器,耗时约 2-5 分钟。
安装完成后输出包含管理后台地址、管理员账号(admin)和密码。

第四步:验证功能是否正常

浏览器访问

在局域网内任意设备浏览器输入 https://harbor.internal.localhttps://192.168.1.100,看到 Harbor 登录页面即成功。

使用 Docker 客户端登录

docker login harbor.internal.local -u admin -p YourStrongSecret123!

如果出现 Error response from daemon: Get "https://harbor.internal.local/v2/": x509: certificate signed by unknown authority,说明客户端未信任自签证书。
解决方法(以 Ubuntu 为例):

# 将服务端证书复制到客户端并信任
sudo cp server.crt /usr/local/share/ca-certificates/harbor.crt
sudo update-ca-certificates
sudo systemctl restart docker

推送测试镜像

docker pull hello-world
docker tag hello-world harbor.internal.local/library/hello-world:latest
docker push harbor.internal.local/library/hello-world:latest

在 Harbor Web 界面的“项目”->“library”中可看到该镜像。

避坑指南:家用环境常见问题

  1. 内存不足导致容器退出:降低 Harbor 资源占用,编辑 harbor.ymldatabaseredis 配置,或使用 --memory 参数限制。
  2. 域名解析问题:家用路由器不支持自定义域名解析,建议在每一台机器的 hosts 文件添加映射,或在局域网 DNS(如 AdGuard Home)中设置。
  3. 端口冲突:如果 80/443 已被占用,可在 harbor.yml 中修改为其他端口(如 8080/8443),但之后登录也需要指定端口。
  4. 磁盘爆满:定期清理旧镜像。Harbor 自带垃圾回收功能,可在“管理”->“垃圾清理”中执行。
  5. 重启后服务丢失:Harbor 安装默认不会自启动。将 Docker 容器设置为 restart: always 需修改 docker-compose.yml(不推荐手动改,用 docker-compose up -d 启动即可)。

常见问题解答(FAQ)

问:我可以用 IP 直接访问 Harbor 吗?
答:可以,但需在 harbor.ymlhostname 填写 IP,并且客户端必须信任证书或使用 HTTP 模式(不推荐)。

问:Harbor 后台登录密码忘记怎么办?
答:进入 Harbor 数据库(PostgreSQL)重置 harbor_user 表密码字段。更简单的方法:重装并保留 /data 目录下的 secretkey 文件。

问:家用带宽有限,推送大镜像很慢怎么办?
答:可先在本地导出镜像为 tar 包,再 docker load 到主机,或使用 Harbor 的复制功能从公网镜像站同步。

结尾

通过以上步骤,你已经成功在家用 Linux 主机上跑起了 Harbor 私有镜像仓库。
后续可以根据需要配置 LDAP 认证、开启安全扫描、设置项目配额等。
如果在执行中遇到其他异常,优先检查 Docker 日志(docker logs <容器名>)和 Harbor 管理日志(/var/log/harbor/)。

如果你对跨网访问或备份容灾感兴趣,也可以在栏目内搜索“Harbor 高可用”或“HTTPS 反向代理”继续了解。

分享到:
上一篇
外贸站宝塔面板数据库分库分表海量产品优化
下一篇
跨境独立站宝塔面板服务器多IP防关联配置完整教程
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意