阿里云登录镜像仓库报错: Error response from daemon: Get https://
1. 故障现象
开发反应自用笔记本连接镜像仓库是正常的,但通过服务器连接镜像仓库一直失败.
报错信息如下:
bash
Error response from daemon: Get https://registry.cn-hangzhou.aliyuncs.com/v2/: unauthorized: authentication required
2. 故障分析
由于是开发桌面节点可以正常登录,那么就忽略密码错误,域名错误等问题(坑就坑在这里),于是着重排查以下问题:
- 检查仓库地址是否可以被正常解析
- 检查仓库地址是否可达
- 检查是否是因为代理造成登录失败
经过排查,以上问题一一被排除.
这时候有点懵圈了.于是打开官方文档搜索是否有其他可用信息
当看到:检查您的网络是否可以正常使用。如果您的网络不能正常使用,将无法访问到实例,从而会导致docker login超时。
突然知道问题点在哪里了.
3. 故障排除
其实正在的问题在于开发的桌面使用公网,而ECS是没有公网IP和代理的.
回头又检查了下开发报故障的截图发现,
桌面连接ACR的公网地址
ECS也连接了ACR的公网地址
这里想通了就简单了.直接将VPC专有网络的地址复制,再到ECS上重新login
期待的Login Succeeded出现了.
再次查看history和开发的截图也验证了这个故障.
运维在排错时很容易陷入别人错误的反馈,排除所有不可能的,剩下的那个即使再不可思议,那也是事实。