Azure Arc集群诊断失败:Ubuntu Server无法拉取指定Docker镜像
Azure Arc集群诊断镜像拉取失败(manifest verification failed)的排查方案
针对你遇到的mcr.microsoft.com/azurearck8s/clusterdiagnosticchecks:v0.1.0镜像在Ubuntu Server上拉取失败,但本地PC和同一服务器拉取其他MCR镜像正常的问题,可从以下几个方向排查:
1. 镜像架构不匹配
该镜像可能仅支持特定CPU架构(比如amd64),而你的Ubuntu Server使用的是其他架构(如arm64)。
- 检查Ubuntu Server架构:执行
uname -m - 在本地PC查看镜像支持的架构:执行
docker image inspect mcr.microsoft.com/azurearck8s/clusterdiagnosticchecks:v0.1.0 | grep -A5 "Architecture"
如果架构不匹配,需要确认该镜像是否有对应Ubuntu Server架构的版本,或更换同架构的服务器。
2. Docker版本兼容性问题
旧版本Docker对镜像manifest的验证逻辑可能存在缺陷,导致验证失败。
- 查看Ubuntu Server上的Docker版本:
docker --version - 升级Docker到官方最新稳定版:卸载旧版本后,按照官方步骤重新安装最新版。
3. Docker缓存或DNS解析异常
- 清理Docker本地缓存:执行
docker system prune -a,然后重新尝试拉取镜像 - 调整DNS配置:将Ubuntu的DNS服务器改为公共DNS(如8.8.8.8),重启Docker服务后重试拉取
4. MCR区域节点同步延迟
不同区域的Microsoft Container Registry节点可能存在镜像同步延迟,导致Ubuntu Server所在区域的节点未获取到正确的镜像manifest。
- 直接指定MCR官方端点重新拉取:
若服务器位于中国区,可尝试使用国内镜像端点docker pull mcr.microsoft.com/azurearck8s/clusterdiagnosticchecks:v0.1.0mcr.azure.cn
内容的提问来源于stack exchange,提问作者JakeUT
相关产品推荐
相关产品推荐

