3
我最近看到的所有演示都是面向Asp.net核心(我不確定它是如何穩定和功能的,因爲它不包含所有asp.net功能),因爲Windows server 2016支持容器(和docker)應該我們能夠部署一個asp.net mvc 4.0應用程序?我們可以將一個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/windowsservercore
或microsoft/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
謝謝埃爾頓,我的基本asp.net MVC 4項目嘗試,並沒有用於工作我(404當我嘗試訪問網站時),當我檢查網站的狀態時,它開始了......我想這是IIS的喜悅 – rad