如何在Docker for Windows中运行已部署的应用程序?

时间:2018-05-03 14:59:15

标签: asp.net docker

基于此article我尝试使用Docker for Windows部署ASP.NET 4.5应用程序。

我已经完成了使用docker inspect Container_ID检查了容器IP。 我把这个IP放到我的浏览器中,它只打开默认的IIS页面。

所以似乎IIS服务器可以运行,但我如何打开我的应用程序呢?

http://172.30.169.6http://172.30.169.6:80 - 它们都显示默认的IIS网站。

enter image description here

1 个答案:

答案 0 :(得分:3)

要将ASP.NET Web应用程序部署到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 Image

从Microsoft获取官方ASP.NET映像:

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

Web application