gpt4 book ai didi

带有 Harbor 的 Docker 集线器缓存

转载 作者:行者123 更新时间:2023-12-02 21:32:17 33 4
gpt4 key购买 nike

我需要在从我的 Harbor“代理缓存”项目中的 docker 集线器拉取时缓存 docker 图像。因此,我配置了一个带有选项代理缓存的项目。注册表部分还添加了一个新的注册表端点,其提供者为“Docker Hub”。我在 docker 守护进程中添加了以下配置。

cat /etc/docker/daemon.json 
{
"registry-mirrors": ["https://registry.harbor.com"]
}
当我从 docker hub 拉取图像时,它没有缓存在我的港口项目中。需要帮助来解决此问题以及我的请求如何在港口中得到满足。
example
my cache project name = proxy
i need to pull httpd:latest

This
方法也不起作用

最佳答案

更新了 TLDR;
当初回答这个问题的时候,也没有很好的解决办法。您可以阅读我的原始答案。或者只是向下滚动到更新部分,我告诉你,Harbor v2.1 的博客说他们现在支持这个。
原答案
我可以回答你的部分问题。但是第 2 部分的答案是你不能。我可以将问题链接到您,以向您表明由于技术限制,他们明确选择不这样做。好消息是他们知道这仍然是社区想要的东西。
第1部分
您可能不知道的一件事是,没有项目组(如 docker pull nginx )的 hub.docker 上的存储库,仍然需要在您的港口有一个匹配的项目。它将匹配项目名称 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
    当我查看 projects/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
    题:

    Is there anyway to configure harbor 2.1 as a transparent docker hub mirror? ...


    回答:

    not at this time ... we couldn't find a good enough solution in 2.1, but this requirement is known to us.


    更新
    v2.1 的 Harbor 博客表明他们现在已经完全添加了此功能。我上面的回答对于 2.1 之前的版本是准确的。我没有亲自测试过这个,但我会链接谈论它的博客文章。
    博客: https://goharbor.io/blog/harbor-2.1/

    关于带有 Harbor 的 Docker 集线器缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64188709/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com