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

Docker登录Artifactory-JCR成功却拉取镜像提示认证失败怎么办?

解决Docker拉取Artifactory-JCR镜像时的认证问题

从你给出的操作日志里,能定位到两个核心问题:拉取路径的格式错误,以及凭证存储的条目不匹配,咱们一步步来解决:

1. 修正镜像拉取路径

你的拉取命令里多写了一层/v2前缀,导致实际请求路径变成了/v2/v2/docker/jib-mvn(从报错信息Get http://124.70.180.84:8081/v2/v2/docker/jib-mvn/manifests/latest能明确看出来)。Docker客户端会自动在请求中添加/v2前缀,所以你只需要用Artifactory仓库的实际路径即可:

docker pull 124.70.180.84:8081/docker/jib-mvn

2. 修复凭证存储不匹配的问题

从docker logout的警告和pass的输出来看,密码存储里的条目是MTI0LjcwLjE5MC44NDoMDgx,但你的仓库地址是124.70.180.84:8081,这说明凭证存储的条目和实际仓库地址不匹配(大概率是之前登录时的地址输入误差,或者凭证助手的编码问题)。你可以按以下步骤重置凭证:

  • 先手动删除pass里的错误条目:
pass rm docker-credential-helpers/MTI0LjcwLjE5MC44NDoMDgx/maple
  • 然后重新登录,确保登录地址完全正确:
docker login 124.70.180.84:8081
  • 登录后可以验证下pass里的条目是否和仓库地址匹配:执行echo -n 124.70.180.84:8081 | base64,看输出是否和pass里的条目一致。

3. 额外检查:确保Artifactory与Docker配置匹配

如果上面两步还没解决问题,你需要确认以下配置:

  • 确保用户maple拥有该Docker仓库的拉取权限;
  • 确认Artifactory的Docker仓库采用Repository Path模式(这种模式下拉取路径就是[Artifactory地址]/[仓库名]/[镜像名],和你的使用方式一致);
  • 检查Artifactory是否允许HTTP访问:如果你的Artifactory强制HTTPS,需要在Docker配置里把该地址设为不安全镜像仓库。操作方式是编辑/etc/docker/daemon.json:
{
  "insecure-registries": ["124.70.180.84:8081"]
}

然后重启Docker服务:

systemctl daemon-reload
systemctl restart docker

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 17:42:34