如何衡量免费帐户用户的 Docker Hub 图片拉取(参考 Docker Hub 从 2020 年 11 月 1 日起的新政策)?

How to measure Docker Hub image pulls for free account user (reference to new policy by Docker Hub from 1. Nov 2020)?

我有两个问题:

  1. As Docker Hub 正在从 1 更新他们的图像拉取和保留政策。 2020 年 11 月,特别是限制免费用户帐户的图像拉取请求。我想测量一个免费用户帐户对图像和清单发出了多少拉取请求 (GET)。是否有提供此元数据的 docker 集线器 api?
  2. 如何验证 docker 拉取的图像是由特定用户下载的?

谢谢, 杰克

由于 Docker 将从 2020 年 11 月 2 日起更新关于匿名用户和经过身份验证的用户的图像提取率(当然还有其他资源)的政策,因此他们提供了 header(元数据) 来测量速率限制和剩余配额。 见下文:

获取不记名令牌:

$ TOKEN=$(curl "https://auth.docker.io/token?service=registry-1.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)

获取清单以衡量已分配和剩余的配额:

$ curl -v -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest 2>&1 | grep RateLimit

## Output:

< RateLimit-Limit: 200;w=21600
< RateLimit-Remaining: 199;w=21600 

# w -> time in seconds
# RateLimit-Limit -> Assigned Pulls Quota for w seconds
# RateLimit-Remaining -> Remaining Pulls Quota for w seconds

更新:

官方博文见docker - https://www.docker.com/blog/checking-your-current-docker-pull-rate-limits-and-status/