未经授权的错误:HTTP Basic:在 docker push registry.gitlab.com 上拒绝访问

mpz*_*mpz 5 gitlab docker-registry

我有以下错误:

docker push registry.gitlab.com/user/rep-name

The push refers to repository [registry.gitlab.com/user/rep]
f319ccdf8ee4: Preparing 
..
7032a7172c0a: Preparing 
b16cd70f3a2c: Waiting 
...
unauthorized: HTTP Basic: Access denied
Run Code Online (Sandbox Code Playgroud)

但是上一个登录成功了:

docker login registry.gitlab.com
Username: user
Password: 
Login Succeeded
Run Code Online (Sandbox Code Playgroud)

码头工人版本:

docker -v
Docker version 19.03.8, build afacb8b7f0
Run Code Online (Sandbox Code Playgroud)

我使用的个人访问令牌是“api” https://gitlab.com/profile/personal_access_tokens

因为我有 2-factor ahorization。

mpz*_*mpz 5

我改变:

  • 个人访问令牌范围:https : //gitlab.com/profile/personal_access_tokens 到“api”和“read_registry”

  • docker login 中的用户名从@user 到 user@example.com

现在它是有效的。

似乎问题在“read_registry”范围内。这很奇怪,因为“api”也有读取权限。来自 Gitlab:

授予对 API 的完整/写访问权限,包括所有组和项目、容器注册表和包注册表。