当我使用Nginx和docker-compose时在上游找不到主机

时间:2018-07-20 02:04:36

标签: django docker nginx docker-compose

这是我的docker-compose.yml文件

我想让Nginx进行反向代理,而让django进行网络服务器

我也将它们每个容器分开

version: '2'

services:
  django:
    build: ./django
    container_name: django

  nginx:
    restart: always
    build: ./nginx
    container_name: reversproxy
    ports:
      - "7891:7891"
    depends_on:
      - django

下面是我的nginx.conf

我将uwsgi_pass设置为uwsgicluster,将上游设置为Django容器

但是nginx容器无法正常工作

nginx:在上游“ django:7893”中找不到[emerg]主机

worker_processes 1;

events { worker_connections 1024; }

http {
        sendfile on;

        upstream uwsgicluster {
                server django:7893;
        }


        server {
                listen 7891;

                location / {
                        include /etc/nginx/uwsgi_params;
                        uwsgi_pass uwsgicluster;
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header X-Forwarded-Host $server_name;
                }
        }

}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您应该在docker compose文件中定义links,以将django链接到nginx,否则nginx将无法访问django容器。

  

链接

     

链接到另一个服务中的容器。要么同时指定服务   名称和链接别名(“ SERVICE:ALIAS”),或仅是服务名称。

Official document explain

相关问题