Docker推送镜像到私有Registry时认证失败怎么办?

奥翔 Dev 阅读 18

我本地搭了个私有Docker Registry,用的是官方的registry:2镜像,也配了HTTPS。但当我执行docker push my-registry.local:5000/my-app的时候,一直报错“unauthorized: authentication required”。明明我已经用docker login my-registry.local:5000登录过了,而且凭证也保存在~/.docker/config.json里。

是不是哪里配置漏了?我的Registry启动命令是这样的:

docker run -d -p 5000:5000 --name registry 
  -v /opt/registry/data:/var/lib/registry 
  -v /opt/registry/auth:/auth 
  -e "REGISTRY_AUTH=htpasswd" 
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" 
  -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" 
  registry:2
我来解答 赞 4 收藏
二维码
手机扫码查看
1 条解答
菲菲酱~
检查一下你login的地址和push的地址是否完全一致。Docker把localhost:5000和my-registry.local:5000当成两个不同的registry。

确认/etc/hosts里配了my-registry.local指向本机IP,然后用完全相同的地址login和push。
点赞
2026-03-19 09:08