Можем ли мы развернуть приложение asp.net mvc 4 в докере с помощью контейнера Windows?

Все демо, которые я видел в последнее время, ориентированы на ядро ​​​​Asp.net (я не уверен, насколько оно стабильно и функционально, поскольку оно не содержало всех функций asp.net), так как Windows Server 2016 поддерживает контейнеры (и докер), мы должны быть в состоянии развернуть приложение asp.net mvc 4.0?


person rad    schedule 22.09.2016    source источник


Ответы (1)


Да.

Вы можете использовать microsoft/windowsservercore или microsoft/iis в качестве базового образа, установить полную версию ASP.NET и запускать «устаревшие» приложения .NET в контейнерах в Windows. Вы можете сделать это сейчас с Windows 10 и Server 2016 TP5, но RTM (ожидается на следующей неделе в Ignite) должен быть более стабильным.

Я продемонстрировал это, докеризировав старое демонстрационное приложение Nerd Dinner. В итоге вы получите образ Docker размером 3 ГБ, поэтому вы не получите всех преимуществ небольшого эффективного образа, но вы можете запускать свое приложение в контейнере, и это отправная точка для разрушения монолитов.

Для справки, вот как выглядит 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
person Elton Stoneman    schedule 22.09.2016
comment
Спасибо, Элтон, я пробовал с базовым проектом asp.net MVC 4, и у меня это не сработало (404, когда я пытаюсь получить доступ к веб-сайту), когда я проверяю состояние веб-сайта, он запущен... я думаю это радость IIS - person rad; 23.09.2016