Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在具有不同URL的同一端口上运行多个Docker容器_Docker - Fatal编程技术网

在具有不同URL的同一端口上运行多个Docker容器

在具有不同URL的同一端口上运行多个Docker容器,docker,Docker,在docker ss中,有没有一种方法可以在同一个端口上运行多个容器,但使用不同的公共URL? 让我们假设使用以下内容代替x.x.x.x:8090: 场地 site1.example.com:8090 site2.example.com:8090 大概是这样的: docker run --name test1 -e VIRTUAL_HOST=site1.example.com -p 8090:80 -e AUTHOR="test1" -d -P dockersamples/static-si

在docker ss中,有没有一种方法可以在同一个端口上运行多个容器,但使用不同的公共URL? 让我们假设使用以下内容代替x.x.x.x:8090: 场地

  • site1.example.com:8090
  • site2.example.com:8090
大概是这样的:

docker run --name test1 -e VIRTUAL_HOST=site1.example.com -p 8090:80 -e AUTHOR="test1" -d -P dockersamples/static-site
docker run --name test2 -e VIRTUAL_HOST=site2.example.com -p 8090:80 -e AUTHOR="test2" -d -P dockersamples/static-site

您通常会使用像nginx这样的代理来实现这一点,其中代理与其他容器在同一网络上的容器中运行。然后,您可以使用Docker服务名称作为代理后端源。

您通常会使用类似nginx的代理来完成此任务,其中代理与其他容器在同一网络上的容器中运行。然后,您可以使用Docker服务名称作为代理后端源。

我认为这是不可能的。如果在
0.0.0.0:8090
收到请求,哪个站点应提供查询服务。两人都会尝试发送他们的响应,因为最后,所有内容都映射到套接字。我认为这是不可能的。如果在
0.0.0.0:8090
收到请求,哪个站点应提供查询服务。两人都会尝试发送他们的响应,因为在最后,所有内容都映射到套接字。你能举一个docker compose的例子吗?你能举一个docker compose的例子吗?