如何在不同的Docker容器中运行uWSGI和NGINX

如何在不同的Docker容器中运行uWSGI和NGINX,nginx,docker,uwsgi,Nginx,Docker,Uwsgi,我已经在本地设置了uWSGI和NGINX,我的配置在服务web请求方面没有问题。然而,当我将uWSGI和NGINX(在单独的Docker容器中)装箱时,我似乎无法建立连接。我的NGINX服务器配置如下所示: server { listen 80; server_name localhost; location / { include uwsgi_params; uwsgi_pass uwsgi.app:9090; }

我已经在本地设置了uWSGI和NGINX,我的配置在服务web请求方面没有问题。然而,当我将uWSGI和NGINX(在单独的Docker容器中)装箱时,我似乎无法建立连接。我的NGINX服务器配置如下所示:

server {
    listen       80;
    server_name  localhost;
    location / {
        include uwsgi_params;
        uwsgi_pass uwsgi.app:9090;
    }
} 
[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 ini文件如下所示:

server {
    listen       80;
    server_name  localhost;
    location / {
        include uwsgi_params;
        uwsgi_pass uwsgi.app:9090;
    }
} 
[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
我在同一个用户生成的网桥网络中运行这两个容器,使用下面的for uWSGI
docker run-p 9090:9090--network main--name uWSGI.app-d uwsgirepo
;和
docker run-p80:80——网络主链接uwsgi.app——名称nginx.app-d nginxrepo

当我尝试在本地计算机上发出请求时,我从NGINX日志中收到以下错误消息:“[error]7#7:*1 connect()在连接到上游时失败(111:连接被拒绝),客户端:172.18.0.1,服务器:localhost,请求:“get/endpoint HTTP/1.1”,上游:uwsgi://172.18.0.2:9090,主持人:“127.0.0.1”


看起来它从来没有连接过uWSGI。不知道从这里到哪里去。有什么想法吗?

将uwsgi配置为监听
0.0.0
而不是本地主机。这将使它能够监听所有容器接口。您得到的连接被拒绝,因为它只侦听uwsgi容器的本地主机,而不是容器的eth0。

将uwsgi配置为侦听
0.0.0
,而不是本地主机。这将使它能够监听所有容器接口。您得到的连接被拒绝,因为它只侦听uwsgi容器的本地主机,而不是容器的eth0