docker - 通过缓存模式拉入的私有(private) Docker 注册表返回 "invalid authorization credential"

标签 docker docker-registry

我正在使用 official Docker registry image ,并将其配置为通过缓存拉取。

我的客户可以登录并推/拉本地镜像,例如:

docker login -u username -p secret docker.example.local:5000
docker pull docker.example.local:5000/myImage

我已将客户端配置为使用 Docker 注册表服务器作为代理:
root@server:/# cat /etc/docker/daemon.json
  {
     "registry-mirrors": ["https://docker.example.local:5000"]
  }

但是,当我的客户尝试提取注册表服务器上尚不存在的图像时,我会收到错误消息。拉取命令示例:
docker pull alpine

然后,注册服务器在其日志文件中使用此消息进行响应:
error authorizing context: basic authentication challenge for realm \"Registry Realm\": invalid authorization credential

我遇到了this SO post建议在前面放置一个 Nginx 代理服务器,但这似乎是一个 hack,如果可能的话,我更喜欢一些更干净的方法。

其他人如何以拉取缓存模式设置他们的注册表服务器 - 您是否找到比在注册表服务器前面设置 Nginx 代理更好的解决方案?

最佳答案

您使用的 registry-server-name 名称错误。
不要使用 https://字首

#>docker login -u username -p secret docker.example.local:5000

关于docker - 通过缓存模式拉入的私有(private) Docker 注册表返回 "invalid authorization credential",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50097841/

相关文章:

docker - 如何在 openshift 上从 docker 容器内部启动新的 docker 容器

docker - 是否可以在远程主机上外部为gitlab运行Docker注册表?

docker - Docker 1.9 中配置文件的位置是什么?

docker - 如何在docker中打开多个终端?

docker - 在 GoLang Docker SDK 中为卷定义挂载点

docker - 开发和调试的最佳工作流程——最初部署在 docker 环境中

python - 将文件传递给 docker 命令

docker - 本地存储镜像的Docker可移植性问题

docker - 如何在 ECR 上下载或标记未标记的图像?

docker - GKE:Docker登录始终成功,但是即使使用有效的凭证,推送也无法正常工作