我们可以将asp.net mvc 4应用程序部署到带有Windows容器的docker吗?

时间:2016-09-22 15:16:54

标签: asp.net docker containers windows-server-2016

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

1 个答案:

答案 0 :(得分:5)

是。

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

我通过Docker化旧的Nerd Dinner showcase app展示了这一点。你最终获得了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