docker 集线器速率限制还剩多少拉力?

how much pull left for docker hub rate limit?

我正在尝试找出一种方法来检查我还剩多少拉力,但是此页面 https://www.docker.com/blog/checking-your-current-docker-pull-rate-limits-and-status/ 并没有真正解释

该页面仅解释了如何找到速率限制计划,无论是匿名的还是经过身份验证的,但我想知道我还剩下多少拉动 docker 拉动

有什么方法可以找到这个统计数据吗?查看我在限定时间内还剩多少拉数?

根据 https://docs.docker.com/docker-hub/download-rate-limit/,对清单 API 的请求收到以下 headers:

RateLimit-Limit    
RateLimit-Remaining

后一种是您感兴趣的。

我编写了一个 regclient 项目,其中包含最近添加了 image ratelimit 命令的 regctl。它使用 HTTP HEAD 请求来避免在检查当前速率限制时使用任何配额:

$ regctl image ratelimit regclient/regctl
{
  "Remain": 2500,
  "Limit": 2500,
  "Reset": 0,
  "Set": true
}

如果该命令可以访问您的 ~/.docker 文件夹,或者您 运行 registry login,它将使用您的凭据来提供适用于您自己而非匿名用户的限制适用于您的 IP 地址的费率。

还有 this blog post 展示了如何使用 curl 和 jq 命令执行此操作。以下是对特定测试 repo 的匿名请求示例:

TOKEN=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)
curl -v -I -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest 2>&1 | grep RateLimit