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

Docker如何添加私有镜像仓库?拉取镜像报认证错误怎么办

报错根因说明

你遇到的unauthorized: unable to get identity token from basic auth credentials: invalid grant: invalid authentication credentials given报错核心是私有镜像仓库身份认证失败,常见触发场景包括:

  • 本地存储的该仓库认证凭证已失效:比如供应商侧回收了你的账号拉取权限、凭证到期、账号密码被重置
  • 本地存储的凭证本身错误,比如账号密码修改后没有更新Docker侧的存储记录
  • 供应商侧调整了仓库访问策略,关闭了对应路径的匿名拉取权限
此前可正常拉取非Docker Hub镜像的原因

Docker本身不会限制只能拉取Docker Hub的镜像,之前能正常拉取一般是两种情况:

  • 当时该仓库的bmc/lpade路径开启了匿名访问权限,不需要认证即可拉取镜像
  • 你之前执行过docker login containers.XXX.com完成过该仓库的登录,有效凭证被保存在本地,拉取时Docker自动携带了认证信息,没有触发权限校验失败
Docker识别私有镜像仓库的逻辑

Docker解析镜像地址的规则是固定的,不需要提前“添加注册”私有仓库就能识别:

  • 如果镜像名称没有带域名前缀,默认会将Docker Hub(docker.io)作为拉取源
  • 如果镜像名称的第一段是带.的域名格式字符串(比如你用的containers.XXX.com),Docker会自动将该段识别为私有仓库地址,直接拼接Registry V2接口路径发起拉取请求
20.10.15版本配置私有仓库、修复拉取报错的操作步骤
  1. 先向供应商确认你的账号对bmc/lpade路径有拉取权限,拿到有效的用户名、密码
  2. 清理本地可能失效的旧凭证:编辑~/.docker/config.json文件,删除auths字段下对应containers.XXX.com的配置段,保存退出
  3. 执行登录命令更新凭证:
docker login containers.XXX.com

按照提示输入正确的用户名、密码,提示登录成功即可
4. 如果该私有仓库使用自签名HTTPS证书,需要提前将仓库的CA证书放置到Docker的证书信任路径/etc/docker/certs.d/containers.XXX.com/ca.crt,执行systemctl restart docker重启服务后再尝试拉取
5. 如果仓库是HTTP非加密服务,需要编辑/etc/docker/daemon.json,将containers.XXX.com加入insecure-registries配置列表,重启Docker后再操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 06:21:19