场景说明
当咱们的 Docker-Harbor 建立在内网的时分,咱们需求同步外网的的镜像资源,以供咱们内网开发人员下载运用。 这个时分咱们就能够运用 Docker-Harbor 的镜像署理缓存功用。
harbor v2.1 新增了署理缓存的功用,类似nexus能够运用harbor署理并缓存来自公共或私有镜像库房的图像。而且从harbor v2.1.1开始,署理和缓存功用已更新,以与docker hub 的速率约束保持一致
咱们能够运用署理缓存功用让一些访问受限环境能够访问互联网上的镜像,而且假如没有某个镜像,此刻客户端第一次发起pull image 请求会从指定的署理库房下载并缓存到harbor的库房里,下次别的客户端再需求pull 这个镜像就无需从公网再去下载该镜像了,然后防止占用过多带宽或被docker hub 速率约束。
操作过程
-
创建
DockerHub
署理库房 -
创建
DockerHub
缓存署理项目 -
运用
DockerHub
的缓存署理 要开始运用署理缓存,能够通过将docker pull指令或pod 清单运用<harbor_servername>/<proxy_project_name>/
作为前缀添加到image标签,以引用署理缓存项目。例如:[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 ......
-
咱们能够看到本地库房和Harbor的
dockerhub
库房都有mysql:latest
镜像了,缓存署理成功