2016-11-04 17 views
0

uWSGIとNGINXをローカルに設定しましたが、私の設定ではWebリクエストの処理に問題はありません。しかし、私がuWSGIとNGINXを(個別のDockerコンテナで)コンテナ化すると、接続できないようです。異なるDockerコンテナでuWSGIとNGINXを実行する方法

server { 
    listen  80; 
    server_name localhost; 
    location/{ 
     include uwsgi_params; 
     uwsgi_pass uwsgi.app:9090; 
    } 
} 

マイuWSGI iniファイル、次のようになります:私のnginxのサーバーの設定は次のようになり、私はuWSGI docker run -p 9090:9090 --network main --name uwsgi.app -d uwsgirepoために、以下のものを使用して、両方に同じユーザーが生成したブリッジネットワーク内のコンテナを実行

[uwsgi] 
socket = localhost:9090 
module = uwsgi:app 
processes = 4 
threads = 2 
master = true 
buffer-size = 32768 
stats = localhost:9191 
die-on-term = true 
vaccuum = true 

。 NGINXの場合はdocker run -p 80:80 --network main --link uwsgi.app --name nginx.app -d nginxrepoです。

ローカルマシンでリクエストを作成しようとすると、NGINXログから次のエラーメッセージが表示されます。 '[エラー] 7#7:* 1 connect()が失敗しました(111:接続が拒否されました) 、クライアント:172.18.0.1、サーバー:localhost、要求:「GET /エンドポイントHTTP/1.1」、上流:「uwsgi://172.18.0.2:9090」、ホスト:「127.0.0.1」 '

それが今までにuWSGIに接続しているように見えません。ここからどこに行くのかわからない。何かご意見は?

答えて

2

ローカルホストの代わりに0.0.0.0でリッスンするようにuwsgiを設定します。そうすれば、すべてのコンテナインターフェイスでリッスンできます。接続が拒否されているのは、uwsgiコンテナのローカルホストでのみリッスンするためであり、コンテナのeth0ではリッスンしないためです。

関連する問題