2

我目前正在尝试在单个主机上运行两个容器,一个是应用程序(Ruby on Rails),另一个是 Nginx 作为反向代理和缓存。该应用程序在 TCP 端口 80 上运行。我想要做的是关闭我的应用程序容器,将其删除,然后再次启动它,而无需重新启动 nginx。问题是 Nginx 似乎只查找容器的 IP 一次,所以如果它出现故障然后备份到不同的地址,那么 Nginx 只会抱怨那里什么都没有。

我尝试了几件事:

  • 用于使用resolver 127.0.0.11 valid=5Docker 的 DNS
  • 使用upstream
  • 使用变量尝试让 nginx 在运行时解析。

我不知道还能去哪里看,但如果应用程序在不同的 IP 地址上启动,这些选项都不起作用。有什么我想念的东西使这不可能吗?

谢谢。

4

1 回答 1

1

最终阅读了 12 因素应用程序,它启发我完全删除了对 Rails 上游的 Nginx 代理,而是将其用作具有外部 DNS 名称上游的代理缓存。

于 2016-03-31T12:04:38.273 回答