API 获取热门 Docker 中心图像?

API to get Top Docker Hub images?

我想知道是否有 API 来获取 Docker 中心图片?

喜欢我们打开时可以获得的东西https://hub.docker.com/explore/

我检查过:

https://docs.docker.com/engine/api/v1.28/#https://docs.docker.com/registry/spec/api/

但是没有找到我想要的

https://hub.docker.com/explore/开始,以下API被调用:

https://hub.docker.com/v2/repositories/library/?page=1&page_size=15

默认过滤器是按拉取次数降序排列,它会给您以下响应:

{
    "count": 139,
    "next": "https://hub.docker.com/v2/repositories/library/?page=1&page_size=15",
    "previous": null,
    "results": [{
        "user": "library",
        "name": "nginx",
        "namespace": "library",
        "repository_type": "image",
        "status": 1,
        "description": "Official build of Nginx.",
        "is_private": false,
        "is_automated": false,
        "can_edit": false,
        "star_count": 5777,
        "pull_count": 618674944,
        "last_updated": "2017-04-06T16:35:19.178373Z",
        "build_on_cloud": null
    },
    ...
    ...
   ]
}

因此,以下内容将提供您在 docker 集线器上拉取的前 100 docker 个图像:

https://hub.docker.com/v2/repositories/library/?page=1&page_size=100

page_size 的最大大小为 100(因此每页 100),count 是该端点可以给出的最大计数(对于所有页面)。

例如 curljq JSON 解析器:

curl -s "https://hub.docker.com/v2/repositories/library/?page=1&page_size=100" | \
    jq '.results'

现在有一个来自 https://store.docker.com 的内部 API 可以从商店或 dockerhub 查询图像。 dockerhub 中最受欢迎的可以通过以下方式检索:

https://store.docker.com/api/content/v1/products/search?page_size=100&q=%2B&source=community&type=image%2Cbundle

请求结果有一个 popularity 数字字段。要按受欢迎程度降序过滤图像:

curl -s "https://store.docker.com/api/content/v1/products/search?page_size=100&q=%2B&source=community&type=image%2Cbundle" | \
    jq '.summaries | sort_by(-.popularity)'