2016-11-04 55 views
0

我已經在本地設置了uWSGI和NGINX,並且我的配置在提供Web請求時沒有問題。但是,當我將uWSGI和NGINX(在單獨的Docker容器中)進行容器化時,我似乎無法建立連接。我的NGINX服務器的配置是這樣的:如何在不同的Docker容器中運行uWSGI和NGINX

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

我uWSGI ini文件看起來是這樣的:

[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 

我運行使用uWSGI docker run -p 9090:9090 --network main --name uwsgi.app -d uwsgirepo以下相同用戶產生橋接網絡無論是在容器內;和NGINX的docker run -p 80:80 --network main --link uwsgi.app --name nginx.app -d nginxrepo

當我嘗試在本地機器上發出請求時,我從NGINX日誌中收到以下錯誤消息:[error] 7#7:* 1 connect()failed(111:Connection refused)while connected to upstream ,client:172.18.0.1,server:localhost,request:「GET/endpoint HTTP/1.1」,上游:「uwsgi://172.18.0.2:9090」,主機:「127.0.0.1」'

它不看起來它連接到uWSGI。不知道該從哪裏出發。有什麼想法嗎?

回答

2

配置uwsgi監聽0.0.0.0而不是本地主機。這將使它監聽所有的容器接口。您正在接收拒絕的連接,因爲它只在uwsgi容器的本地主機上偵聽,而不是容器的eth0。

相關問題