Azure Web App部署Windows容器遇文档滞后及OS版本报错求助
问题分析与解决方案
一、解决Windows容器OS版本不兼容报错
你遇到的报错 Cannot run this Operating System/Version in Windows Containers. Maximum supported OS version is 10.0.14393.9999,核心原因是你使用的基础镜像版本超出了Azure Web App for Containers当前预览版的支持范围:
- 你的Dockerfile里用的是
microsoft/aspnet:4.7.2-windowsservercore-1803,对应的Windows Server版本是1803,内核版本高于10.0.14393; - 当前预览版的Windows容器仅支持基于Windows Server 2016(内核版本10.0.14393,对应
windowsservercore-1607)的镜像。
修复步骤:
- 修改你的Dockerfile,将基础镜像替换为兼容版本:
FROM microsoft/aspnet:4.7.2-windowsservercore-1607 ARG source WORKDIR /inetpub/wwwroot COPY ${source:-obj/Docker/publish} .
- 重新构建镜像并推送到Docker Hub公开仓库;
- 回到Azure Web App部署面板,重新尝试部署即可。
二、关于启动文件字段的疑问(预览版文档滞后补充)
针对预览版文档未提及的启动文件说明:
- 对于你这种基于
microsoft/aspnet(IIS托管的ASP.NET 4.x应用)的Windows容器,启动文件字段可以留空,因为基础镜像已经内置了IIS的默认启动配置,会自动识别并加载Web应用的入口(比如Default.aspx或web.config中指定的起始页); - 这个字段并非必填项,只有当你需要自定义容器启动逻辑(比如运行自定义脚本、启动非IIS的可执行程序)时,才需要填写对应的命令或路径(例如
cmd /c start myapp.exe)。
内容的提问来源于stack exchange,提问作者Anand Moghe
相关产品推荐
相关产品推荐

