3

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

4

1 回答 1

5

是的。

您可以使用microsoft/windowsservercoremicrosoft/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 回答