Azure Container Registry实例中仓库突然消失,请求协助排查
解决Azure Container Registry无法获取仓库的问题
1. 检查ACR实例运行状态
- 登录Azure门户,进入你的ACR实例概览页,确认状态显示为“就绪”。如果是暂停/异常状态,尝试重启实例(在“概述”页点击“重启”按钮)。
- 用Azure CLI快速验证健康状态:
命令会返回实例可用性、网络连通性等关键信息,根据提示修复异常项。az acr check-health --name <你的ACR名称>
2. 确认身份认证与权限
- 检查当前账号是否拥有ACR的
AcrPull及以上权限,用CLI查看权限分配:
如果权限不足,需要由管理员为你分配对应角色。az role assignment list --scope /subscriptions/<订阅ID>/resourceGroups/<资源组>/providers/Microsoft.ContainerRegistry/registries/<ACR名称> --assignee <你的登录账号> - 若使用服务主体/托管身份访问,检查凭证是否过期、是否被撤销权限,重新生成凭证后重试。
3. 排查网络配置限制
- 若ACR配置了专用端点,确认访问客户端是否在专用网络(如VNet)内,或是否通过VPN/ExpressRoute连接。
- 若启用了防火墙规则,检查当前客户端IP是否在允许列表中,可临时添加测试IP(测试完成后记得移除)。
- 尝试临时关闭防火墙规则(在ACR的“网络”设置中选择“允许所有网络”),如果能正常访问,说明是网络规则导致的问题。
4. 检查服务限流与健康状态
- 查看ACR的“指标”页,关注“请求成功率”“限流次数”指标,如果限流次数过高,说明短时间内请求量超出限制,需调整请求频率。
- 前往Azure服务健康页面,确认所在区域的Container Registry服务是否有故障、维护通知,等待服务恢复。
5. 客户端环境排查
- 更新Azure CLI到最新版本:
同时确保Docker客户端是最新版,旧版本可能存在API兼容问题。az upgrade - 测试客户端与ACR的网络连通性:
如果连接失败,排查本地网络是否有代理、防火墙阻止了443端口的请求。curl -v https://<你的ACR登录服务器>/v2/_catalog
内容的提问来源于stack exchange,提问作者Jayashree Madanala
相关产品推荐
相关产品推荐

