我们可以部署一个asp.net mvc 4应用程序与Windows容器的docker?

我最近看到的所有的演示都是面向Asp.net核心(我不确定它是如何稳定和function的,因为它不包含所有的asp.netfunction),因为Windows服务器2016支持容器(和docker),我们应该能够部署一个asp.net mvc 4.0应用程序?

是。

您可以使用microsoft/windowsservercoremicrosoft/iis作为基础映像,安装完整的ASP.NET并在Windows上的容器中运行“传统”.NET应用程序。 您现在可以使用Windows 10和Server 2016 TP5,但RTM(预计下周在Ignite)应该更稳定。

我通过Dockerizing老式的书呆子晚餐展示应用程序来展示这一点。 你最终得到一个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