【问题标题】:How to mirror dockerhub with artifactory如何使用 artifactory 镜像 dockerhub
【发布时间】:2020-11-04 18:17:16
【问题描述】:

由于 dockerhub 已开始限制非付费帐户的下载,我经常收到此错误

ERROR: Preparation failed: Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit (executor_docker.go:188:15s)

https://docs.docker.com/docker-hub/download-rate-limit/

我有一个 artifactory 服务器,如何设置 docker 以首先从 artifactory 缓存/镜像?

【问题讨论】:

    标签: docker artifactory dockerhub


    【解决方案1】:

    首先在https://registry-1.docker.io设置一个指向docker hub的artifactory remote

    然后重新配置所有 docker 代理以使用 registry_mirror。有多种方法可以做到这一点,但将--registry-mirror 添加到 docker 启动选项很可能是最简单的。有关更多信息,请参阅 docker 文档

    https://docs.docker.com/registry/recipes/mirror/

    方法一

    将 --registry-mirror 添加到 /etc/default/docker 中的 OPTIONS 变量中

    cat /etc/default/docker
    OPTIONS=" -H unix:///var/run/docker.sock --ip-forward=true --iptables=true --ip-masq=true --registry-mirror=https://docker.artifactory.example.com -G docker"
    
    

    方法二

    编辑 /etc/docker/registry/config.yml

    proxy:
      remoteurl: https://registry-1.docker.io
      username: [username]
      password: [password]
    

    方法3

    如果使用 puppet,配置如下所示

      class { '::docker':
        use_upstream_package_source => false,
        manage_package              => false,
        registry_mirror             => 'https://docker.artifactory.example.com',
      }
    

    【讨论】:

      【解决方案2】:

      避免遇到 Dockerhub 速率限制的步骤:

      1. 如果您还没有 Dockerhub 免费帐户,请注册一个。 Dockerhub 支持每 6 小时最多 200 次凭据拉取,而匿名拉取则为每 6 小时 100 次。

      2. 通过设置一个到 Dockerhub 的远程仓库和一个本地仓库来推送和拉取不在 dockerhub 上的图像,将 Artifactory 用作 Dockerhub 之间的缓存。

      3. 避免将 Dockerhub 用于个人图像。仅在必要时拉取官方图像。

      4. 使用虚拟仓库 ex 的 docker repo 路径将您的 docker 客户端设置为始终通过 Artifactory:

        docker.artifactory.example.com/docker-virtual/myimage:1.0.0

      5. 使用包含虚拟仓库的路径以相同的方式拉取官方图像。

        docker.artifactory.example.com/docker-virtual/ubuntu:latest

      6. 通过使用分析来监控您的 Dockerhub 速率限制 JFrog 提供了与 SplunkElasticPrometheus 的集成,以监控 dockerhub 拉取请求的滚动 6 小时窗口和缓存命中率。

      【讨论】:

        【解决方案3】:

        您还可以在official blog JFrog released 中获取与此相关的一些信息。

        在本页查看来自@john-peterson 的详细说明。

        【讨论】:

        • 此博客还发布用于通过分析监控此设置:jfrog.com/blog/…
        • 博文没有解释如何使用 artifactory 作为 docker hub 镜像,他们只是声称这是可能的。
        猜你喜欢
        • 2016-09-30
        • 2020-11-05
        • 1970-01-01
        • 2022-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多