2

現在、1 つのホストで 2 つのコンテナーを実行しようとしています。1 つはアプリケーション (Ruby on Rails) で、もう 1 つはリバース プロキシとキャッシュとしての Nginx です。アプリは TCP ポート 80 で実行されています。できるようにしたいのは、アプリケーション コンテナーを停止し、それを削除してから、nginx を再起動せずに再度起動することです。問題は、Nginx がコンテナーの IP を 1 回しか検索しないように見えることです。そのため、コンテナーがダウンしてから別のアドレスに戻った場合、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 に答える