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 或部署应用耗时过长
- 无法访问国外公共仓库(如 k8s.gcr.io、quay.io、hub.docker.com)
- 想通过 Harbor 代理官方仓库,实现镜像同步与缓存策略
📌 最终目标
通过直接拉取自建仓库的镜像时,自动缓存国外公共仓库镜像,如:
📋 前提条件
在开始之前请确保您已满足以下条件:
- 已安装部署 Harbor(可参看文章:《离线部署 Harbor 企业级镜像仓库指南》)
- 拥有一个代理服务器,能访问外部公共仓库(这个就不在本文的介绍范围内了)
🚀 详细步骤
1️⃣ 修改 Harbor 代理配置
首先我们需要配置 Harbor 的代理配置,使其可以访问国外公共仓库。
进入 Harbor 安装目录,编辑以下配置文件:
vim common/config/core/env
2️⃣ 重启 Harbor Core 服务
修改完配置后,我们需要再重启一下 Harbor 的服务生效:
3️⃣ 创建远程仓库目标
登录 Harbor 控制台 → 系统管理 → 仓库管理 → 新建目标,如下图所示:


参数说明:
- 提供者:选择Docker Hub或其他国外公开镜像仓库
- 目标名:可以随便取个名字
- 访问ID:Docker Hub的用户名
- 访问密码:Docker Hub的用户密码
配置完成之后再点击
测试连接
,查看是否可正常连接到远程仓库,返回正常的话就可以点击确定了。PS:这里也支持创建多个不同的代理目标,如:k8s.gcr.io、quay.io等
4️⃣ 创建代理项目
回到 Harbor 控制台的项目菜单,点击
新建项目
,配置如下:
参数说明:
- 项目名称:可随便填,简单点也可以直接填 hub
- 访问级别:都是内网可以直接开启公开
- 镜像代理:开启,并选择我们刚创建的代理目标
最后点击确定即可。
5️⃣ 测试代理镜像拉取
假设你配置的 Harbor 域名为
harbor.luhome.com
,项目为 hub
,可以使用以下命令测试:其中
nginx:alpine
为官方Dockerhub
的镜像地址,首次拉取时 Harbor 会自动从 Docker Hub 拉取并缓存,后续访问将直接从 Harbor 获取,提高速度。可在项目镜像仓库中查看是否已缓存,如下图:

✅ 总结
Harbor 的镜像代理缓存功能极大提升了容器镜像拉取效率,提升了企业内部的 DevOps 体验,同时确保了镜像安全与合规。
通过本指南配置后,你将拥有一个安全、高速、可控的本地镜像代理平台,同时也省去了手动上传官方公共镜像的步骤。
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
- 作者:青萍叙事
- 链接:https://blog.lusyoe.com/article/harbor-mirror-proxy-setup
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。