Чтобы развернуть веб-приложение ASP.NET в Docker-контейнере, вы можете использовать следующую процедуру.
Опубликовать пресет
Создайте предустановку публикации, используя метод публикации File System
. Полученный файл .pubxml
должен выглядеть примерно так:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>C:\Websites\DockerDeploy\</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
</PropertyGroup>
</Project>
Изображение Docker
Получите официальный образ ASP.NET от Microsoft:
docker pull microsoft/aspnet
Dockerfile
Поскольку профиль публикации сверху записывает приложение в C:\Websites\DockerDeploy\
, dockerfile
необходимо сохранить в C:\Websites\
.
FROM microsoft/aspnet
COPY ./DockerDeploy/ /inetpub/wwwroot/
Пользовательское изображение
docker build -t mywebapplication .
Запустить контейнер
docker run -p 80:80 mywebapplication