如何使用访问令牌通过命令行列出/搜索Docker Hub私有仓库
用访问令牌通过命令行操作Docker Hub私有仓库
完全可以通过Docker Hub的官方Web API实现,不需要登录Web界面,下面是具体操作步骤:
1. 准备Docker Hub个人访问令牌
先在Docker Hub账户的「Settings」→「Security」页面创建个人访问令牌(PAT),权限至少勾选「Read repositories」(仅需列出仓库的话),如果需要后续操作可按需勾选更高权限。
2. 获取API认证令牌
Docker Hub API需要Bearer令牌授权,先用你的Docker Hub用户名和访问令牌换取该令牌:
curl -s -H "Content-Type: application/json" -X POST -d '{"username": "你的Docker Hub用户名", "password": "你的访问令牌"}' https://hub.docker.com/v2/users/login/ | jq -r .token
如果没有jq工具,直接查看返回JSON中的token字段即可。
3. 列出所有私有仓库
拿到Bearer令牌后,调用API列出你的私有仓库:
curl -s -H "Authorization: Bearer 你的Bearer令牌" https://hub.docker.com/v2/repositories/你的Docker Hub用户名/?visibility=private | jq '.results[] | .name'
替换对应参数后,命令会返回所有私有仓库的名称。若需要完整仓库信息(如描述、创建时间),去掉末尾的| jq '.results[] | .name'即可查看全量返回结果。
4. 搜索私有仓库
若要筛选特定名称的私有仓库,添加name参数过滤:
curl -s -H "Authorization: Bearer 你的Bearer令牌" "https://hub.docker.com/v2/repositories/你的Docker Hub用户名/?visibility=private&name=搜索关键词" | jq '.results[] | .name'
替换「搜索关键词」为你要查找的仓库名称片段即可。
注意事项
- 确保访问令牌权限足够,否则会返回403权限错误。
- Docker Hub API有请求频率限制,避免短时间内高频调用。
- 上述API是Docker Hub专属的仓库管理端点,和通用Registry V2 API不同,专门适配Docker Hub的私有仓库场景。
内容的提问来源于stack exchange,提问作者whyohwhyohwhy
相关产品推荐
相关产品推荐

