我最近看到的所有演示都是面向 Asp.net 核心的(我不确定它的稳定性和功能如何,因为它不包含所有 asp.net 功能),作为 Windows server 2016 支持容器(和 docker),我们应该能够部署一个 asp.net mvc 4.0 应用程序吗?
问问题
2260 次
1 回答
5
是的。
您可以使用microsoft/windowsservercore
或microsoft/iis
作为基础映像,安装完整的 ASP.NET 并在 Windows 上的容器中运行您的“旧版”.NET 应用程序。您现在可以使用 Windows 10 和 Server 2016 TP5 进行此操作,但 RTM(预计下周在 Ignite)应该更稳定。
我通过 Dockerizing 旧的Nerd Dinner 展示应用程序展示了这一点。您最终会得到一个 3GB 的 Docker 映像,因此您不会获得拥有小型、高效映像的所有好处 - 但您可以在容器中运行您的应用程序,这是分解单体应用程序的起点。
作为参考,编译的 ASP.NET 应用程序的 Dockerfile 如下所示:
FROM microsoft/iis
RUN ["powershell.exe", "Install-WindowsFeature NET-Framework-45-ASPNET"]
RUN ["powershell.exe", "Install-WindowsFeature Web-Asp-Net45"]
ADD web-app/ c:\\web-app
EXPOSE 8081
RUN powershell New-Website -Name 'web-app' -Port 8081 -PhysicalPath 'c:\web-app' -ApplicationPool '.NET v4.5'
ENTRYPOINT powershell
于 2016-09-22T15:33:41.827 回答