type
status
date
slug
summary
category
tags
create_time
Jul 22, 2025 02:54 AM
icon
password
my_create_time

📝 前言

我们在之前一期中介绍了如何快速部署 Harbor 企业级镜像仓库:《离线部署 Harbor 企业级镜像仓库指南》,这一篇我们再来介绍如何通过 Harbor 配置 Dockerhub 的镜像代理,自动缓存官方镜像。
PS:Gitea 镜像仓库好像是没有该功能的。

🧭 背景介绍

Harbor 是由 CNCF 维护的企业级 Docker 镜像仓库解决方案,支持用户管理、访问控制、安全扫描、镜像复制等企业所需功能。
在生产环境中,很多用户会遇到 镜像拉取缓慢、境外源不稳定 或 源仓库不可信 等问题,尤其是部署在内网或私有云中的 Kubernetes 集群。
为了提升拉取效率与可用性,Harbor 提供了镜像代理功能(Proxy Cache),可以将 Docker Hub、Google Container Registry(GCR)、Quay.io 等公共仓库的镜像缓存到本地,实现 本地代理拉取加速 + 镜像版本控制 + 安全合规。

🔍 使用场景

  • 拉取 Docker Hub 镜像速度缓慢,构建 CI/CD 或部署应用耗时过长
  • 想通过 Harbor 代理官方仓库,实现镜像同步与缓存策略

📌 最终目标

通过直接拉取自建仓库的镜像时,自动缓存国外公共仓库镜像,如:

📋 前提条件

在开始之前请确保您已满足以下条件:
  • 拥有一个代理服务器,能访问外部公共仓库(这个就不在本文的介绍范围内了)

🚀 详细步骤

1️⃣ 修改 Harbor 代理配置

首先我们需要配置 Harbor 的代理配置,使其可以访问国外公共仓库。
进入 Harbor 安装目录,编辑以下配置文件:
vim common/config/core/env

2️⃣ 重启 Harbor Core 服务

修改完配置后,我们需要再重启一下 Harbor 的服务生效:

3️⃣ 创建远程仓库目标

登录 Harbor 控制台 → 系统管理 → 仓库管理 → 新建目标,如下图所示:
notion image
notion image
参数说明:
  • 提供者:选择Docker Hub或其他国外公开镜像仓库
  • 目标名:可以随便取个名字
  • 访问ID:Docker Hub的用户名
  • 访问密码:Docker Hub的用户密码
配置完成之后再点击测试连接,查看是否可正常连接到远程仓库,返回正常的话就可以点击确定了。
PS:这里也支持创建多个不同的代理目标,如:k8s.gcr.ioquay.io

4️⃣ 创建代理项目

回到 Harbor 控制台的项目菜单,点击新建项目,配置如下:
notion image
参数说明:
  • 项目名称:可随便填,简单点也可以直接填 hub
  • 访问级别:都是内网可以直接开启公开
  • 镜像代理:开启,并选择我们刚创建的代理目标
最后点击确定即可。

5️⃣ 测试代理镜像拉取

假设你配置的 Harbor 域名为harbor.luhome.com,项目为 hub,可以使用以下命令测试:
其中nginx:alpine为官方Dockerhub的镜像地址,首次拉取时 Harbor 会自动从 Docker Hub 拉取并缓存,后续访问将直接从 Harbor 获取,提高速度。
可在项目镜像仓库中查看是否已缓存,如下图:
notion image

✅ 总结

Harbor 的镜像代理缓存功能极大提升了容器镜像拉取效率,提升了企业内部的 DevOps 体验,同时确保了镜像安全与合规。 通过本指南配置后,你将拥有一个安全、高速、可控的本地镜像代理平台,同时也省去了手动上传官方公共镜像的步骤。
💡
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
 
上一篇
Gitea Action 构建多架构镜像指南(实战六)
下一篇
Gitea Action 定时构建和手动构建指南(实战五)

评论
Loading...