![由于兼容性问题,容器无法在 Azure 中启动或部署被阻止](https://linux22.com/image/749451/%E7%94%B1%E4%BA%8E%E5%85%BC%E5%AE%B9%E6%80%A7%E9%97%AE%E9%A2%98%EF%BC%8C%E5%AE%B9%E5%99%A8%E6%97%A0%E6%B3%95%E5%9C%A8%20Azure%20%E4%B8%AD%E5%90%AF%E5%8A%A8%E6%88%96%E9%83%A8%E7%BD%B2%E8%A2%AB%E9%98%BB%E6%AD%A2.png)
我成功地在本地环境中将演示经典 asp 容器化并且它可以工作 - 但是在部署到 Azure 时我遇到(例如使用以下基础图像“mcr.microsoft.com/windows/servercore/iis:windowsservercore-1803, mcr.microsoft.com/windows/servercore/iis”)总是出现错误:
“参数 WindowsFxVersion 具有无效值。无法将指定的映像作为 Windows 容器 Web 应用运行。应用服务支持最高 Windows Server Core 2019 和 Nanoserver 1809 的 Windows 容器。指定映像的平台:windows,版本:10.0.18362.658;”
... 或者 ...
使用其他基础映像(microsoft/iis:windowsservercore-ltsc2016)时,当我在 Web 浏览器中浏览以成功部署容器时出现以下错误:
“Web 应用的容器无法启动”
然后我可以在 Azure 门户的容器设置的日志数据中看到以下错误:... 错误 - 站点:asp-sixeyed - 无法启动容器。错误消息:修改计算系统失败。...
这是我的 Dockerfile:
# escape=`
FROM mcr.microsoft.com/windows/servercore/iis:windowsservercore-1803
SHELL ["powershell", "-command"]
RUN Install-WindowsFeature Web-ASP; `
EXPOSE 80
RUN Remove-Website -Name 'Default Web Site'; `
md c:\mywebsite; `
New-IISSite -Name "mywebsite" `
-PhysicalPath 'c:\mywebsite' `
-BindingInformation "*:80:";
ADD . c:\mywebsite
我在 Azure 中有一个存储库,上传的容器会下载到其中,并配置为基于容器的 Web 应用程序的一部分。
我找到了一些链接(https://docs.microsoft.com/answers/questions/8381/azure-app-service-using-a-windows-container-failin.html,https://support.microsoft.com/en-us/help/4542617/you-might-encounter-issues-when-using-windows-server-containers-with-t,https://hub.docker.com/_/microsoft-windows-base-os-images) 报告了类似的问题,也说明了原因,但我仍然不知道如何解决这个问题。
下面是经典 asp 容器化的清晰演示:https://olikka.com.au/news-items/containerize-and-migrate-legacy-classic-asp-to-azure-app-service,但由于上述报告的问题,我无法使其工作。
我只是 docker 新手,这花了我 2-3 天的时间,但没有成功。有没有 docker / iis / Azure 专家可以指导如何解决这个僵局?