私は現在、1つのアプリケーション(Ruby on Rails)ともう1つのNginxをリバースプロキシとキャッシュとして1つのホスト上で2つのコンテナを実行しようとしています。アプリケーションはTCPポート80で動作しています。私ができるようにしたいのは、自分のアプリケーションコンテナを落としてそれを削除し、nginxを再起動しなくてもそれを再度起動することです。問題は、NginxはコンテナのIPを一度探すだけなので、別のアドレスに戻ってきたら、Nginxは何もないと不平を言うでしょう。実行時に解決するためにnginxの取得しようとする変数を使用しupstream
ブロック Nginxでホスト名で動的にホスト名を検索する
resolver 127.0.0.11 valid=5
を使用し
- :
私はいくつかのことを試してみました。
私はどこを見るべきかわかりませんが、アプリケーションが別のIPアドレスで起動されている場合は、これらのオプションは機能しません。これを不可能にしているものがありますか?
ありがとうございました。
この問題が発生するには、DNSまたは検出サービスが必要か、アプリケーションコンテナに静的IPを使用する必要があります。最新のDockerバージョンを実行している場合は、この回答を参照してください。http://stackoverflow.com/a/35359185/4190526 –