docker registry auth 资源名称

docker registry auth 资源名称

您好,我需要澄清有关使用 Auth 注册的 docker daemon 文档。我发现docker 文档 我还发现戈多克斯用于 docker 注册表。我搜索了身份验证过程,但找不到任何可以帮助我理解这句话的内容:

资源名称

资源名称表示资源提供者识别资源的名称。资源由此名称和提供的资源类型标识。资源名称的一个示例是图像标签的名称组件,例如“samalba/myapp”或“hostname/samalba/myapp”。

如果我执行例如 docker push myprivregistry/project:TESTPASSED,docker 守护进程是否会在针对身份验证服务器的查询中包含标签“TESTPASSED”?

docker docs 中描述了身份验证过程Token 认证规范

第三个请求具体是什么样的?

答案1

因此,我使用经过精心设计的 JWT 令牌伪造了身份验证服务器,该令牌使用了 docker registry 信任的 RSA 密钥进行签名。

精心设计的 JWT 具有以下声明,因此可以推送“registry”存储库:

  "access": [
    {
      "type": "repository",
      "name": "registry",
      "actions": [
        "pull",
        "push"
      ]
    }
  ],

我使用 docker login 成功登录,然后尝试使用docker push localhost:5000/registry:registry_test2

针对身份验证服务的请求如下:


POST /auth.json HTTP/1.1
Host: 172.17.0.1:80
User-Agent: docker/17.05.0-ce go/go1.7.5 git-commit/89658be kernel/4.13.0-41-generic os/linux arch/amd64 UpstreamClient(Docker-Client/17.05.0-ce \(linux\))
Content-Length: 149
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip
Connection: close

client_id=docker&grant_type=refresh_token&refresh_token=tGzv3JOkF0XG5Qx2TlKWIA&scope=repository%3Aregistry%3Apush%2Cpull&service=test.docker.registry

从 POST 主体中,我只能看到存储库名称“registry”并且存在允许的操作,但我看不到图像标签。

所以我的问题的答案是否,图像标签不是针对身份验证服务的身份验证请求的一部分

相关内容