You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker for Windows执行docker push报错:insufficient_scope: authorization failed

解决Docker推送本地仓库时"insufficient_scope: authorization failed"错误

排查与解决步骤

1. 确认本地仓库的权限配置

如果你的本地Registry启用了认证,务必确保所用账号拥有**推送(push)**权限:

  • 打开Registry的配置文件(如config.yml),检查capabilities字段是否包含push:
    capabilities:
      - pull
      - push
    
  • 若缺少push,添加后重启Registry服务;如果是用htpasswd管理账号,重新生成带权限的凭证:
    htpasswd -B -c /path/to/htpasswd your-username
    
    输入密码后重启Registry。

2. 重新登录本地仓库

Docker客户端的登录会话可能过期或未关联正确权限,重新登录即可:

  • 先登出:
    docker logout localhost:5000
    
  • 用拥有push权限的账号重新登录:
    docker login localhost:5000
    
    输入账号密码后再执行推送。

3. 检查镜像标签是否正确

Docker默认会把无仓库地址的镜像推送到Docker Hub,这会导致权限不匹配:

  • 给镜像打上本地仓库的标签(替换localhost:5000为你的仓库地址,my-image:v1为你的镜像信息):
    docker tag my-image:v1 localhost:5000/my-image:v1
    
  • 再执行推送:
    docker push localhost:5000/my-image:v1
    

4. 清除Windows上的Docker凭证缓存

Windows的凭据管理器可能缓存了旧的权限不足的凭证:

  • 打开「控制面板」→「凭据管理器」→「Windows凭据」,找到本地仓库相关的条目(如localhost:5000),删除后重新登录Docker。
  • 重启Docker Desktop,确保缓存完全清除。

5. 处理TLS证书问题(若本地仓库用HTTPS)

如果本地仓库启用了HTTPS但Docker未信任证书,会间接导致授权异常:

  • 将仓库的CA证书复制到Docker证书目录:C:\ProgramData\Docker\certs.d\localhost:5000\ca.crt
  • 重启Docker Desktop后再尝试推送。

内容的提问来源于stack exchange,提问作者Yiftach Cohen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:25:51