asp.net - 如何在同一 VM 主机上托管多个带有基于 Asp.Net 的网站的 IIS docker 容器

标签 asp.net azure docker iis

通过 IIS,您可以使用端口 80 托管多个网站并将它们指向不同的域,IIS 会为您处理映射。

现在使用此镜像的 Docker 容器:

docker 拉 microsoft/aspnet

图像包含:

Windows Server Core as the base OS
IIS 10 as Web Server
.NET Framework (multiple versions available)
.NET Extensibility for IIS

当容器尝试使用端口 80 时,如何使用此镜像托管多个容器。

但是,目前容器确实不能共享同一个端口,必须有不同的监听端口。

那么如何使用该镜像在多个网站上托管多个容器并将它们映射到不同的域?

最佳答案

如果您为每个 IIS 提供一个 IP 地址,则可以在端口 80 上绑定(bind)多个 IIS。

您可以指定分配给每个容器的 IP,而不是直接公开端口 80:

$ docker run --rm --name iis1 -p 10.0.0.101:80:80 <image>

$ docker run --rm --name iis2 -p 10.0.0.102:80:80 <image>

关于asp.net - 如何在同一 VM 主机上托管多个带有基于 Asp.Net 的网站的 IIS docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52274100/

相关文章:

javascript - 通过javascript检测来自asp的ajax请求的结束

asp.net - 应用 META 标签后,IE 仍会缓存页面内容几秒钟。该怎么办?

azure - 此静态 Web 应用程序具有最大数量的暂存环境

iphone - Windows Azure 工具包

docker - 使用 docker 和 ansible iptables 拒绝传入流量

macos - 如何在Docker上初始化 `libdc1394`

c# - 计算使用 LINQ 函数实例化的 C# 对象中的天数

c# - 动态添加的 TableRows 不在 Postback 的 Rows 集合中

c# - 从 DocumentDb 中删除特定文档

r - 无法在Rstudio中提取Docker镜像