如何使用Artifactory镜像Docker Hub

10

自从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缓存/镜像优先?

3个回答

8

首先,设置一个指向docker hub的artifactory远程地址,地址为https://registry-1.docker.io

enter image description here

然后重新配置所有的docker代理,使用registry_mirror。有多种方法可以实现这一点,但是在docker启动选项中添加--registry-mirror可能是最简单的。详见docker文档了解更多信息。

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

方法1

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

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]

方法三

如果使用 Puppet,配置如下

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

5

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

  1. 如果您还没有 Dockerhub 免费账户,请注册一个。Dockerhub 帐户可以每6小时拉取最多200个凭据,而匿名拉取只能拉取每6小时100个。

  2. 使用 Artifactory 作为 Dockerhub 缓存,通过设置远程仓库到 Dockerhub 和本地仓库来推送和拉取不在 Dockerhub 上的镜像。

  3. 避免为个人镜像使用 Dockerhub。只在必要时才拉取官方镜像。

  4. 通过使用虚拟仓库的 docker repo 路径来始终通过 Artifactory 拉取。例如:

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

  5. 以同样的方式使用路径和虚拟仓库来拉取官方镜像。

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

  6. 通过 JFrog 提供的集成(如 SplunkElasticPrometheus)监控您的 Dockerhub 速率限制,以监视您的滚动6小时窗口中的 Dockerhub 拉取请求和缓存命中率。


4
你还可以在JFrog发布的官方博客中获取相关信息

请参考此页面上John Peterson的详细说明。


1
该博客还发布了有关通过分析监视此设置的文章:https://jfrog.com/blog/keep-watch-on-docker-hub-pulls-with-jfrog-log-analytics/ - John Peterson
博客文章没有解释如何将Artifactory用作Docker Hub镜像,他们只是声称这是可能的。 - artm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接