Web App for Containers问题:Kudu无法拉取Docker镜像
解决Kudu无法拉取Azure容器注册表镜像的问题
结合你描述的场景——之前部署正常,本周一开始Kudu拉取镜像失败,环境变量配置都正确,我整理了几个实际排查过的方向,你可以一步步试:
1. 先验证ACR凭证是否有效
有时候ACR的访问密码会过期,虽然环境变量看起来没改,但实际权限已经失效。你可以手动用环境变量里的信息登录ACR试试:
docker login $DOCKER_REGISTRY_SERVER_URL -u $DOCKER_REGISTRY_SERVER_USERNAME -p $DOCKER_REGISTRY_SERVER_PASSWORD
如果登录失败,直接去Azure门户的ACR资源里,重新生成新的访问密码,然后更新Web App对应的环境变量即可。要是登录成功,那凭证没问题,往下看。
2. 查看Kudu的详细拉取日志
登录Kudu控制台(Web App门户→开发工具→高级工具→Go),进入LogFiles/docker目录,打开最新的日志文件,里面会有具体的错误提示:
- 比如是不是镜像标签不存在?比如你以为推送了
latest镜像,但实际周一的推送失败了; - 或者网络连通问题?可以在Kudu的命令行里ping一下你的ACR域名,看看能不能正常解析和访问。
3. 强制触发一次容器刷新
有时候自动触发的CI逻辑会出问题,你可以手动触发一次拉取:
- 要么在Kudu控制台执行:
curl -X POST https://<你的WebApp名称>.scm.azurewebsites.net/api/refresh - 要么直接去Web App的“容器设置”页面,不用改任何配置,直接点“保存”,这会触发一次重新部署,强制拉取最新镜像。
4. 检查ACR里的镜像状态
去Azure门户的ACR资源里,确认周一之后推送的镜像是否真的成功了:
- 查看镜像的标签、摘要是否正确,有没有出现镜像损坏的情况;
- 可以在本地拉取这个镜像,启动容器测试一下,排除镜像本身的问题。
5. 确认Web App的容器配置细节
- 检查“容器设置”里的镜像路径是否正确,比如有没有写错镜像名称或者标签(比如之前用
latest,后来推送用了其他标签但没更新配置); - 确认Web App的定价层是Basic及以上,免费层的资源限制可能导致拉取大镜像失败。
内容的提问来源于stack exchange,提问作者twiechert
相关产品推荐
相关产品推荐

