我想使用访问令牌来做推/拉docker镜像。我阅读了https://docs.docker.com/registry/spec/auth/jwt/ 1
上的信息当我使用生成的令牌将映像推/拉到我的私有存储库时,出现“请求对资源的访问被拒绝”错误。我希望这里的人以前已经解决了这个问题,可以为我提供帮助。
我使用码头工人的用户名和密码通过此脚本生成访问令牌。
reponame =“ userlogin / private-repo” actions =“推拉” headers =“授权:基本(echo -n” {用户名}:{密码}“ | base64)” response =(curl -s -H“ $ headers”“ https://auth.docker.io/token?service=registry.docker.io&scope=repository:$ reponame:$ actions”) echo $ response | jq``.token” | xargs回声
我将生成的令牌放入〜/ .docker / config.json
cat ~/.docker/config.json { "HttpHeaders": { "Authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6 ...", "User-Agent": "Docker-Client/19.03.1 (linux)" } }
docker pull userlogin / private-repo:tag1
来自守护程序的错误响应:拒绝userlogin / private-repo的请求访问,存储库不存在或可能需要“ docker登录”:拒绝:请求的对资源的访问被拒绝
我将令牌放入jwt解码器,有效负载部分如下所示
{
“access”: [
{
“type”: “repository”,
“name”: “userlogin/private-repo”,
“actions”: [
“push”,
“pull”
]
}
],
“aud”: “registry-docker-io”,
“exp”: 1568139741,
“iat”: 1568139441,
“iss”: “auth-docker-io”,
“jti”: “lx9zfVptM9eLhjgnEjih”,
“nbf”: 1568139141,
“sub”: “557269cb-00f6-4e0e-b02b-581994894914”
}