向 Docker 容器内运行的应用程序添加“虚拟路径”的最佳方法

向 Docker 容器内运行的应用程序添加“虚拟路径”的最佳方法

现在的情况

我在 Docker 容器内运行了 2 个应用程序,一个是 Angular 应用程序,另一个是 .Net Core WebApi。每个应用程序都有一个绑定端口(WebApi 在 8090 主机端口上运行,Angular App 在 4300 主机端口上运行),这意味着我可以通过以下方式访问每个应用程序:(http://主机名:绑定端口)。

我想要实现的目标

我习惯使用 IIS 部署,每个新应用程序都有一个虚拟路径,如下所示: http://服务名称/应用程序1

但是现在,我开始使用 Docker 发布应用程序,但我找不到在容器内运行的应用程序上使用虚拟路径的方法。例如,我在 docker 容器上有一个应用程序,可以像这样访问: http://服务器名称:5000/

上面的“5000”是绑定到容器公开端口的主机端口。我想要的是使用虚拟路径访问容器内运行的每个应用程序,而不是使用绑定的端口,如下所示:

http://服务器名称/容器应用程序

我已经搜索过可能的解决方案,例如反向代理,但我不确定这是否是唯一的解决方案或最佳的解决方案。

PS:具有docker应用程序的服务器是CentOS 7。

相关内容