2016-08-14 13 views
1

次のように私はマウントポートを備えた5灯コンテナ(tutum/lamp)を持っている:それはURLに応じて適切なコンテナにリダイレクトするようNGINXルートの設定方法は?

127.0.0.1:81:80 
127.0.0.1:82:80 
127.0.0.1:83:80 
127.0.0.1:84:80 
127.0.0.1:85:80 

は、私は何をしたいのは、彼らの前にnginxのを入れています。たとえば、ホストIPが12.45.5.113であるとします。その後、私が12.45.5.113/c1/にアクセスしたとき、私は12.45.5.113/c2/を訪問したときにコンテナ127.0.0.1:81:80のホームページにリダイレクトしたいと思います。コンテナ127.0.0.1:82:80のホームページにリダイレクトしたいと思います。

NGINXの設定はどのようにする必要がありますか? apt-get installでNGINXをホストにインストールするか、追加のコンテナとしてインストールすることは可能でしょうか?

答えて

1

最も簡単なアプローチは、コンテナにnginxを起動することです。設定と

docker run --port 80:80 --link c1 ... --link cn ... nginx 

docker run--volume引数によってホストからマウントすることができます)のように:

{ 
    listen 80; 
    location /c1/ { 
     proxy_pass http://c1; 
    } 

    ... 
    location /cn/ { 
     proxy_pass http://cn; 
    } 
} 

この方法あなたがリンク機構Dockerの容器を使用して望むようにそれは(すべての要求がされるすべての要求をリダイレクトしますbridgeネットワーク経由でルーティングされます)。 https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/#/connect-with-the-linking-system

+0

グレート:詳細については

はドッカーのマニュアルを参照してください!どうもありがとうございました。私は最後の質問を持っています:私は 'エコー 'http://'に気付きました。 $ _SERVER ['SERVER_NAME']。 $ _SERVER ['REQUEST_URI'];には中間パスが含まれていません。 '/ c1 /'、いくつかの検索の後に、NGINXレベルの '書き換えルール'がそのトリックを行うことができることを発見しました。何か案は? – user706838

+0

ええと、あなたが何を求めているのかわからないので、例を挙げてください。 –

関連する問題