如何使用HTTP API V2获取Docker镜像的清单

时间:2018-03-27 19:44:09

标签: docker dockerhub

我正在尝试获取私有Docker镜像的图像清单。

  

GET / v2 / name / manifests / reference

返回标题: Www-Authenticate →Bearer realm="https://auth.docker.io/token",service="registry.docker.io",scope="repository:{username}:pull"

所以我提出了一个请求:Www-Authenticate →Bearer realm="https://auth.docker.io/token",service="registry.docker.io",scope="repository:{username}:pull"我获得了令牌。

我将其添加到标题Authorization: Bearer {token}中。 但我仍然得到401回复。

我在哪里输入用户名和密码?

1 个答案:

答案 0 :(得分:0)

有关auth的说明,请参阅Docker文档:

https://success.docker.com/article/how-do-i-authenticate-with-the-v2-api

特别是:

USERNAME=[[YOUR-USERNAME]]
PASSWORD=[[YOUR-PASSWORD]]
TOKEN=$(\
  curl \
  --silent \
  --header "Content-Type: application/json" \
  --request POST \
  --data '{"username": "'${USERNAME}'", "password": "'${PASSWORD}'"}' \
  https://hub.docker.com/v2/users/login/ \
  | jq -r .token\
) & echo ${TOKEN}

这对我来说适用于枚举图像及其标签。

我无法查询Docker注册表中的清单:

How to get manifests using HTTP API v2