使用harbor代理缓存docker hub

场景说明

当我们的 Docker-Harbor 搭建在内网的时候,我们需要同步外网的的镜像资源,以供我们内网开发人员下载使用。 这个时候我们就可以使用 Docker-Harbor 的镜像代理缓存功能。

harbor v2.1 新增了代理缓存的功能,类似nexus可以使用harbor代理并缓存来自公共或私有镜像仓库的图像。并且从harbor v2.1.1开始,代理和缓存功能已更新,以与docker hub 的速率限制保持一致

我们可以使用代理缓存功能让一些访问受限环境能够访问互联网上的镜像,并且如果没有某个镜像,此时客户端第一次发起pull image 请求会从指定的代理仓库下载并缓存到harbor的仓库里,下次别的客户端再需要pull 这个镜像就无需从公网再去下载该镜像了,从而避免占用过多带宽或被docker hub 速率限制。

操作步骤

  1. 创建DockerHub代理仓库

  2. 创建DockerHub缓存代理项目

  3. 使用DockerHub的缓存代理 要开始使用代理缓存,可以通过将docker pull命令或pod 清单使用<harbor_servername>/<proxy_project_name>/作为前缀添加到image标签,以引用代理缓存项目。例如:

    makefile 复制代码
    [root@master-01 harbor]# docker login 10.0.0.38:8004
    
    [root@master-01 harbor]# docker pull 10.0.0.38:8004/dockerhub/mysql:latest
    
    latest: Pulling from dockerhub/mysql:latest
    0e03bdcc26d7: Pull complete 
    Digest: sha256:8c5aeeb6a5f3ba4883347d3747a7249f491766ca1caa47e5da5dfcf6b9b717c0
    Status: Downloaded newer image for dockerhub/mysql:latest
    ......
  4. 我们可以看到本地仓库和Harbor的dockerhub仓库都有mysql:latest镜像了,缓存代理成功

相关推荐
码事漫谈37 分钟前
告别数据孤岛与AI“水土不服”:金仓多模融合时序库如何让数据真正服务于业务
后端
IT_陈寒1 小时前
Redis的持久化配置把我坑惨了:你以为数据安全了?
前端·人工智能·后端
星栈1 小时前
Node 接口该写同步还是异步?
后端·node.js
红烧大青虫1 小时前
HarmonyOS应用开发实战:小事记 - UIAbility 的冷启动/热启动/后台启动三种场景与 launchParam 解析
后端·华为·harmonyos·鸿蒙系统
码事漫谈1 小时前
AI Token 缓存:命中省 10 倍,不命中白扔钱
后端
65岁退休Coder1 小时前
LangChain v1.3.4 笔记 - 04 Agent 中间件
后端
神奇小汤圆2 小时前
一个接口多个实现,Spring 怎么"适配多场景"?
后端
花开彼岸天~2 小时前
鸿蒙原生开发手记:徒步迹 - 自定义组件开发规范
后端·华为·harmonyos·鸿蒙系统
songroom4 小时前
Kimi K3:Rust封装XTP接口详细教程实践
开发语言·后端·rust
kebeiovo4 小时前
游戏服务端开发:Actor模型详解(Go语言)
开发语言·后端·golang