我正在使用
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代理服务器,但这似乎是一个黑客,如果可能的话,我更喜欢一些更干净的方法.
其他人如何在拉入缓存模式下设置他们的注册表服务器 – 您是否找到了比在注册表服务器前设置Nginx代理更好的解决方案?
最佳答案 您使用了错误的registry-server-name名称.
不要使用https://前缀
#>docker login -u username -p secret docker.example.local:5000