使用IIS,您可以使用端口80托管多个网站并将它们指向不同的域,IIS会为您处理映射。
现在使用Docker容器使用此图像:
docker pull 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地址,则可以在port 80
上绑定多个IIS。
您可以指定分配给每个容器的IP,而不是直接公开port 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>