Harbor 支持以下仓库的代理缓存
- Harbor
- Docker Hub
- Docker 仓库
- AWS Elastic Container Registry
- Azure Container Registry
- Google Container Registry
- Quay
- Github Container Registry
- JFrog Artifactory Registry
配置代理缓存
代理缓存允许您使用 Harbor 代理和缓存来自目标公共或私有仓库的镜像。从 Harbor v2.1.1 开始,代理缓存功能已更新,以符合 Docker Hub 的速率限制策略。如果您计划在 Harbor 实例中使用代理缓存,强烈建议您使用 v2.1.1 或更高版本,以避免受到速率限制。
您可以使用代理缓存从目标 Harbor 或非 Harbor 仓库拉取镜像,尤其适用于互联网访问受限或无互联网访问的环境。您还可以使用代理缓存来限制向公共仓库发出的请求数量,从而避免消耗过多带宽或被仓库服务器限流。
Harbor 支持以下仓库的代理缓存
Harbor 系统管理员通过创建代理缓存项目来配置代理缓存,该项目使用您配置的仓库端点连接到目标仓库。代理缓存项目的工作方式与普通的 Harbor 项目类似,只是您无法将镜像推送到代理缓存项目。
要使用 Harbor 代理缓存,请配置您的 docker pull 命令和 Pod 清单,以便从代理缓存项目而不是目标仓库拉取镜像。
当拉取请求到达代理缓存项目时,如果镜像未被缓存,Harbor 会从目标仓库拉取镜像,并将拉取命令视为来自代理缓存项目的本地镜像。然后,代理缓存项目会缓存该镜像以供将来请求使用。
下次用户请求该镜像时,Harbor 会检查目标仓库中镜像的最新清单,并根据以下场景提供镜像
从 Harbor v2.1.1 开始,Harbor 代理缓存会发出 HEAD 请求,以确定 Docker Hub 仓库中缓存镜像的任何层是否已更新。使用此方法检查目标仓库不会触发 Docker Hub 速率限制器。如果任何镜像层已更新,代理缓存将拉取新镜像,这将计入 Docker Hub 速率限制器。
要设置代理缓存,Harbor 系统管理员可以创建一个代理缓存项目,该项目使用仓库端点连接到目标仓库。
代理缓存项目能够使用普通 Harbor 项目可用的相同功能,只是您无法将镜像推送到代理缓存项目。有关项目的更多信息,请参阅《使用项目》文档。
在创建代理缓存项目之前,请为代理缓存项目创建要使用的仓库端点。请参阅如何创建仓库端点。
在“项目”页面上,单击“新建项目”并配置新项目信息。有关更多详细信息,请参阅《创建项目》文档。
单击“代理缓存”滑块,然后从出现的下拉列表中选择您的仓库端点。“带宽”是向上游仓库拉取镜像的速度限制,-1 表示无限制。
单击“确定”。
您可以从“项目”页面查看所有可用的代理缓存项目。
默认情况下,Harbor 为每个新的代理缓存项目创建一个 7 天的保留策略。有关更多信息,请参阅《标签保留策略》。
要开始使用代理缓存,请配置您的 docker pull 命令或 Pod 清单,通过在镜像标签前添加 <harbor_servername>/<proxy_project_name>/
作为前缀来引用代理缓存项目。例如
> docker pull <harbor_server_name>/<proxy_project_name>/goharbor/harbor-core:dev
在此页
贡献