带有Harbor的Docker Hub缓存

问题描述

我需要从我的Harbor“代理缓存”项目中的Docker中心提取缓存Docker映像。因此,我已经配置了一个带有代理缓存选项的项目。 “注册表”部分还添加一个新的注册表端点,其提供程序为“ Docker Hub”。我将以下配置添加到了docker守护进程中。

example
my cache project name = proxy
i need to pull httpd:latest

虽然我正在从Docker集线器中提取图像,但它并未缓存在我的Harbor项目中。需要帮助解决此问题以及我的要求如何满足港口要求。

Int64Index: 3572 entries
Data columns (total 58 columns): 

This 方法也不起作用

解决方法

我可以回答您的部分问题。但是第2部分的答案是你做不到。我可以将问题链接给您,向您显示他们由于技术限制而明确选择不这样做。好消息是他们意识到这仍然是社区想要的东西。

---第1部分

您可能不知道的一件事,就是hub.docker上的仓库,它没有项目组(例如docker pull nginx),但仍然需要在您的港口中匹配一个项目。它将与项目名称library匹配。因此,请确保您有一个名为library的项目。没有这个library项目可能不会影响通过缓存,但是一定会影响复制。

我的设置包含: 包含网址:harbor.mydomain.com

项目:

  • 图书馆
  • cache_proxy-hub-docker

下面的例子可以帮助我

    docker pull harbor.mydomain.com/cache_proxy-hub-docker/goharbor/redis-photon:v2.1.0
    v2.1.0: Pulling from cache_proxy-hub-docker/goharbor/redis-photon
    b2823a5a3d08: Pull complete
    ...omitted...
    369af38cd511: Pull complete
    Digest: sha256:11bf4d11d81ef582401928b85aa2e325719b125821a578c656951f48d4c716be

请记住,对于docker pull ngninx之类的东西,您必须像实际library/nginx那样做

    docker pull harbor.mydomain.com/cache_proxy-hub-docker/library/nginx
    Using default tag: latest
    latest: Pulling from cache_proxy-hub-docker/library/nginx
    d121f8d1c412: Pull complete
    ...ommitted...
    Digest: sha256:fc66cdef5ca33809823182c9c5d72ea86fd2cef7713cf3363e1a0b12a5d77500

当我查看项目/ cache_proxy-hub-docker时,我看到:

  • cache_proxy-hub-docker / library / nginx
  • cache_proxy-hub-docker / goharbor / redis-photon

还请记住,带有前缀的pull命令也将成为在pull之后该图像在您的计算机上的名称。您必须将其重新标记为您期望的样子。这就是docker daemon解决方案如此吸引人的原因...

---第2部分

我在同一问题上四处奔波。最后,我怀疑他们没有以这种方式实现它。没错:

https://github.com/goharbor/harbor/issues/8082#issuecomment-698012277

问题:

是否仍然可以将Harbor 2.1配置为透明的Docker Hub镜像? ...

answer:

目前还不行……我们在2.1中找不到足够好的解决方案,但我们知道此要求。