推送Docker镜像至GitLab Registry失败:unauthorized错误求助
检查镜像路径权限
确认推送路径registry.gitlab.com/username/registry/base:latest对应的GitLab项目存在,且你拥有该项目的开发者及以上权限。GitLab容器镜像仓库的路径必须与有权限的项目完全匹配,否则登录成功也无法推送。使用个人访问令牌(PAT)登录
放弃账号密码登录,改用带权限的PAT:- 在GitLab账号的「设置」-「访问令牌」中生成新令牌,勾选
write_registry权限 - 执行
docker login registry.gitlab.com,用户名填你的GitLab账号名,密码填入生成的PAT
- 在GitLab账号的「设置」-「访问令牌」中生成新令牌,勾选
彻底清理Docker认证缓存
执行以下命令清除旧的认证信息:docker logout registry.gitlab.com # Linux/macOS用户执行 rm -rf ~/.docker/config.json # Windows用户删除文件:C:\Users\<你的用户名>\.docker\config.json清理完成后重新用PAT登录,再尝试推送。
验证镜像标签正确性
执行docker images确认本地存在registry.gitlab.com/username/registry/base:latest镜像,若不存在,先重新打标签:docker tag <本地镜像ID> registry.gitlab.com/username/registry/base:latest
内容的提问来源于stack exchange,提问作者jurandou
相关产品推荐
相关产品推荐

