You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下az acr login超时但ACR健康检查正常的排查方法

Windows下Azure ACR登录超时但健康检查正常的排查方案
  • 检查Docker代理配置差异
    az acr login实际是调用Docker daemon完成登录,而az acr check-health由Azure CLI直接发起请求,两者代理配置可能不一致。打开Docker Desktop的Resources > Proxies,确认代理设置是否正确;若系统设置过HTTP_PROXY/HTTPS_PROXY环境变量,检查Docker是否继承了这些变量,或存在冲突。可临时关闭代理后重新执行az acr login -n <你的ACR名称>测试。

  • 验证Docker daemon的网络连通性
    直接用Docker命令测试ACR连通性,比如执行docker pull acrau*****.azurecr.io/<镜像名>(需为你有权限访问的镜像),观察是否同样超时;也可通过curl -v https://acrau*****.azurecr.io/v2/直接访问ACR端点,对比Docker与curl的返回结果,判断问题出在Docker还是全局网络。

  • 排查DNS解析问题
    在命令行执行nslookup acrau*****.azurecr.io,查看解析出的IP是否正常。若解析异常,尝试切换至公共DNS(如8.8.8.8),并执行ipconfig /flushdns清空本地DNS缓存后重新测试。

  • 检查防火墙/安全软件拦截
    本地防火墙或第三方安全软件可能拦截了Docker daemon的出站请求,但放行Azure CLI的请求。临时关闭Windows Defender防火墙及第三方安全软件,重新执行az acr login测试;若成功,需在防火墙中添加允许Docker daemon访问ACR 443端口的出站规则。

  • 确认Docker与Azure CLI版本兼容性
    过旧的版本可能存在流程兼容性问题。执行az --version和docker --version查看当前版本,更新至最新稳定版后重新测试。

  • 手动模拟登录流程
    既然az acr check-health能获取令牌,可手动完成登录排查:

    1. 执行az acr login -n <你的ACR名称> --expose-token获取登录令牌;
    2. 执行docker login acrau*****.azurecr.io -u 00000000-0000-0000-0000-000000000000 -p <获取到的令牌>。
      若手动登录成功,说明az acr login调用Docker的流程存在异常,需重置Docker凭据存储。
  • 重置Docker凭据存储
    打开Docker Desktop的Settings > Docker Engine,检查credsStore配置(如是否使用wincred),可临时注释该配置并重启Docker后测试;也可在Windows凭据管理器中,删除acrau*****.azurecr.io相关的凭据条目,再重新执行登录命令。

内容的提问来源于stack exchange,提问作者Jack Spektor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 16:32:17