Azure Web App(Linux)运行旧文件与ACR镜像不符求助
检查镜像标签与部署配置一致性
确认ACR中推送的新镜像标签(如latest)和Web App部署中心配置的拉取标签完全匹配。若使用latest标签,需确保推送时覆盖了原有标签;建议改用唯一标签(如Git提交哈希、时间戳),避免标签复用导致的拉取混淆。查看Web App镜像拉取日志
在Azure Portal的Web App资源中进入「日志流」,搜索pulling image、Successfully pulled image相关日志,确认是否拉取了正确的镜像版本。若日志显示未拉取新镜像,说明部署触发逻辑存在问题。强制清理Web App本地镜像缓存
通过Azure CLI执行命令强制刷新镜像拉取配置:az webapp config container set --name <你的WebApp名称> --resource-group <你的资源组名称> --docker-custom-image-name <你的ACR名称>.azurecr.io/<镜像名>:<标签> --docker-registry-server-url https://<你的ACR名称>.azurecr.io执行后重启Web App,确保拉取最新镜像。
验证部署中心触发机制
检查部署中心的「触发」设置,确认开启「自动触发」(ACR有新镜像推送时自动部署);若为手动触发,需手动点击「同步」按钮触发重新拉取。同时确认镜像源配置指向正确的ACR仓库和镜像。排查容器启动与挂载配置
确认Web App的容器启动命令未指定旧文件路径,且未配置外部存储(如Azure Files)覆盖镜像内的文件。若使用持久化存储,需检查挂载目录下的文件版本,必要时清理挂载存储内容。SSH登录手动验证镜像拉取
SSH登录到Web App容器后,手动执行拉取命令:docker pull <你的ACR名称>.azurecr.io/<镜像名>:<标签>拉取完成后用
docker images查看镜像ID,对比docker ps显示的当前运行容器的镜像ID,确认是否使用了新镜像。若未使用,需手动重启容器或调整Web App启动配置。
内容的提问来源于stack exchange,提问作者Abhi

