在 Nginx 中通过主机名动态查找容器的地址

Looking up a container's address via its hostname dynamically in Nginx

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

我已经尝试了一些方法:

我不确定还有什么地方可以查看,但是如果应用程序在不同的 IP 地址上启动,这些选项中的 none 会起作用。有什么我遗漏的东西使这不可能吗?

谢谢。

最终阅读了 the 12 factor app,这启发我完全删除了对 Rails 上游的 Nginx 代理,而是将其用作具有外部 DNS 名称上游的代理缓存。