2017-12-04 11 views
2

私はexpress Webサーバーに静的ファイルを持っています。これを私のexpress-deploymentと呼ぼう。ingress-nginxから静的ファイルを配信しています

express-deploymentから静的ファイルを提供するために私のingress-nginxを使用したいと思います。

locationディレクティブでは、ローカルでホストされているファイルを指しています。 ingress-nginxconfigMaplocations-snippetのオプションが表示されていますが、別のコンテナ内のファイルにどのようにこの点があるのか​​完全にはわかりません。

これはingress-nginxで可能ですか?もしそうなら、私はそれについてどうやって行くのですか?別の方法として、nginxのコンテナを私の高速サーバーの横にホストする必要があるのですか?理論的には

答えて

2

(私はそのための2 nginxのを必要とすることを奇妙に思える)、あなたはRWXモードで急行と入力の両方に搭載され、nginxの-入口ポッドにカスタム設定を提供しますが、それは避けるべきでPVを持つことができます。入力コントローラには1つの責任があります - クラスタで定義された入力ルールを実装します。静的なコンテンツを提供するには、それを行うポッドが必要です。あなたのスタックに2番目のnginxを実行しています。つまり、一般的なクラスタ機能を提供するインフラストラクチャの一部として入口コントローラを扱い、一部の場所(またはドッカー画像としてバージョン化/構築されている場合はコンテナ)からの静的ファイルを実際にアプリケーションの一部として提供する必要があります。

+0

OKです。私は 'emptyDir'ボリュームを使用してこのユースケースのコンテナ間で静的ファイルを共有すべきですか? –

+1

本当の質問は、あなたが "共有"したいファイルをどうやって提供するかということです。 emptyDirはまさにそれがそうであると言うことなので、* empty *となり、あなたはそれをあなたが使いたいコンテンツで埋める必要があります。それはかなりではありませんが、必要な場合はコンテナイメージからいくつかのアセットを共有フォルダにコピーするinitコンテナで実現できますが、2つのコンテナに分割することを検討してください。 image –

+0

私のドッカーは 'production'のexpressのために静的ファイルを'/dist/'にコピーするデプロイスクリプトを実行します(ドッカーの単純なコピーコマンド)。 'emptyDir'を使用していて、Dockerがファイルをコピーしたのと同じフォルダを使用すると、空白になりますか? –

関連する問題