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

标签 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

最佳答案

要将 ASP.NET Web 应用程序部署到 Docker 容器,您可以使用以下过程。

发布预设

使用文件系统 发布方法创建发布预设。生成的 .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 镜像

从 Microsoft 拉取官方 ASP.NET 图像:

docker pull microsoft/aspnet

Docker文件

由于上面的发布配置文件将应用程序写入 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

关于asp.net - 如何在 Docker for Windows 中运行已部署的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50158155/

相关文章:

asp.net - iisexpress 在启动 MVC 项目时挂起

Docker 从缓存中构建已删除的模块

docker-compose 重启间隔

c# - 从 IFrame 重定向父页面

asp.net - 如何保留新旧版本的记录,直到主管批准更改?

asp.net - 为什么从客户端调用 PageMethod 时会创建页面实例?

C# ASP.NET - 填充组合框以显示数据源中的两个值?

docker容器内的Python,优雅地停止

php - 使用自定义构建环境插件时对Dockerfile的权限被拒绝

docker - 为什么 Docker 中的容器间通信是默认的?