DockerHub公开镜像标签API分页参数及文档缺失问题咨询
解决Docker Hub公开镜像标签分页查询的问题
我来帮你理清这个问题——你碰到的这个API确实是Docker Hub自己的私有非标准API,虽然标了v2,但和官方Registry V2规范完全是两回事,这也是你找不到文档的原因。不过不用担心,社区里已经摸索出了它的分页控制方法:
控制分页大小:直接在URL里添加
page_size参数,比如要每页返回100个标签,请求URL就是:https://hub.docker.com/v2/repositories/${repository}/tags?page_size=100这个参数的最大值目前支持到1000,超过的话会被自动截断为1000。
遍历所有分页:API响应里会包含
next字段,它是下一页的完整请求URL,只要这个字段不为null,就可以继续请求直到拿到所有标签。比如用curl的话,你可以循环处理这个next链接。
补充几点细节:
- 这个API不需要认证就能访问公开镜像的标签数据,刚好符合你的需求;
- 官方Registry V2 API是针对自建私有镜像仓库的,确实需要认证,和Docker Hub的这个查询API完全独立;
- 因为这是Docker Hub内部使用的API,官方没有公开文档,但它已经稳定运行多年,社区广泛使用,短期内不会失效。
举个实际的例子,查询官方nginx镜像的标签,每页返回50个:
curl "https://hub.docker.com/v2/repositories/library/nginx/tags?page_size=50"
响应的JSON结构里,results数组就是当前页的标签信息,count是总标签数,next是下一页的地址。
内容的提问来源于stack exchange,提问作者itaysk
相关产品推荐
相关产品推荐

