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

问题描述:

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

是的。

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

我通过Dockerizing老Nerd Dinner showcase app显示了这一点。你最终得到一个3GB的Docker镜像,所以你不会得到一个小的,高效的图像的所有好处 - 但你可以在一个容器中运行你的应用程序,这是打破庞然大物的起点。

以供参考,这是Dockerfile已编译ASP.NET应用程序的样子:

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 
+1

谢谢埃尔顿,我的基本asp.net MVC 4项目尝试,并没有用于工作我(404当我尝试访问网站时),当我检查网站的状态时,它开始了......我想这是IIS的喜悦 – rad