从AVD的Docker Desktop连接ACR失败问题排查
解决ACR登录“no host or ACR found”错误的排查步骤
核对ACR登录服务器信息
确认ACR登录服务器格式为你的ACR名称.azurecr.io,注意名称全小写、无多余字符。可在Azure门户ACR的「概述」页面复制完整地址,登录命令需严格遵循:docker login <ACR登录服务器>,避免拼写或格式错误。验证AVD虚拟机的网络连通性
- 若使用私有端点,检查AVD虚拟网络与ACR私有端点子网的路由是否正常,NSG/防火墙规则是否放行443端口(Docker登录依赖HTTPS)。
- 在AVD虚拟机执行
nslookup <ACR登录服务器>,确认解析结果:使用私有端点时应返回内网IP,若解析失败需检查私有DNS区域是否关联AVD虚拟网络,可临时添加hosts记录测试连通性。 - 用
Test-NetConnection <ACR登录服务器> -Port 443测试端口连通性,排查是否存在链路阻断。
检查ACR访问策略配置
- 确认ACR网络规则是否允许AVD访问:若设为「允许选定网络」,需将AVD子网或虚拟机公网IP加入允许列表;若使用私有端点,需将网络规则设为「专用端点」或「允许选定网络+专用端点」。
- 重新复制ACR「访问密钥」页的管理员用户名和密码,避免手动输入时出现拼写错误。
排查Docker Desktop本地配置
- 确认Docker Desktop处于运行状态,若有代理配置,需将ACR登录服务器加入代理例外名单。
- 尝试用Azure CLI登录ACR:执行
az acr login --name <ACR名称>,若登录成功,说明网络与权限无问题,可重置Docker Desktop的凭证缓存后再尝试登录。
内容的提问来源于stack exchange,提问作者Jan
相关产品推荐
相关产品推荐

