【发布时间】:2018-09-04 11:32:46
【问题描述】:
我对如何在同一主机上管理具有多个独立 web 应用程序的反向代理 (nginx) 感到困惑。我知道我可以使用https://github.com/jwilder/nginx-proxy 并为每个应用程序配置 VIRTUAL_HOST,但是我将无法在每个应用程序 docker-compose.yml 中让 nginx 作为服务可见。
我想这样做是因为我想明确定义在生产中运行应用程序所需的所有服务,并在开发中轻松复制它。
换句话说:我有两个需要在同一主机上运行的 web 应用程序,我想在两个应用程序的 docker-compose.yml 中将 nginx 定义为服务依赖项,但与两者共享该服务,因为只有一个 nginx 可以转发端口 80。
【问题讨论】:
-
nginx是必需品还是值得拥有?无论哪种方式,我都会研究类似traefik -
所以你有 2 个项目,有 2 个 docker-compose.yml 文件。而您只需要 1 个 nginx 来为他们提供服务吗?两个项目是否在同一个端口上运行?
-
@ShawnC。这是一个要求,因为两个项目都需要它进行生产
-
@sharif9876 它们不在同一个本地端口上运行,但 nginx 必须侦听端口 80 并将其映射到本地应用程序端口
-
我们可以获取 2 个 docker-compose 文件的示例吗?
标签: docker nginx docker-compose jwilder-nginx-proxy