从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 hub 上拉取的前 100 个 docker 镜像:
https://hub.docker.com/v2/repositories/library/?page=1&page_size=100
page_size 的最大大小为 100(因此每页 100 个),count 是此端点可以提供的最大计数(对于所有页面)。
例如使用curl 和jq 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)'