【发布时间】:2019-09-17 00:02:25
【问题描述】:
我正在运行一个运行 Ubuntu 18.04 的网络服务器,它目前正在为一个网站和几个博客提供服务。我还想在几个 Docker 容器上设置一个 Ruby on Rails Web 应用程序(这样我就可以部署到另一个非 Linux 服务器)。
我的服务器目前正在使用 nginx 为其托管的网站提供服务。如何使用相同的 nginx 安装来为 Docker 容器中的 Rails 应用程序提供服务?我是否只是在容器上公开端口 3000 并设置 nginx 来监听它,使用 Rails 应用程序的正常 nginx 设置?或者还有什么我需要做的吗?我不想将 nginx 移动到容器中 - 我只是想使用我当前的 nginx 来为在容器中运行的应用程序提供服务。
【问题讨论】:
-
你可以这个github.com/jwilder/nginx-proxy。它将为您处理容器的其余部分,而无需管理配置
-
如果不将 nginx 移动到 docker,您将不得不在您的 nginx conf 中发布容器的端口和 proxy_pass localhost:port - 建议您确保阻止防火墙上的各个端口,以便您可以只能通过代理访问它们。将 nginx 移动到 docker 并实现用户定义的 docker 网络可以防止意外暴露这样的服务。
标签: ruby-on-rails docker nginx