如何将Nginx反向代理连接到flaskapp(均在容器中运行)?

时间:2019-05-22 18:41:06

标签: docker nginx flask docker-compose

我正在尝试使用nginx部署dockerized flaskapp。我有两个容器,一个用于flaskapp,另一个用于nginx,我正在使用docker-compose来运行两个容器。但是,当我执行docker-compose up并访问localhost时,将加载nginx的默认页面。我的设置有什么问题?

我的docker-compose.yml:

version: '3'
services:
    dashboardflaskapp:
        image: example/dashboardflaskapp
        container_name: dashboardflaskapp
        environment:
            - CONFIG_OBJECT='config.DevConfig'
        expose:
            - "8080"
        volumes:
            - ./flaskapp:/opt/flaskapp
    nginx:
        image: example/dashboardnginx
        container_name: dashboardnginx
        ports:
            - "8080:8080"
        depends_on:
            - dashboardflaskapp

我的nginx dockerfile:

FROM nginx:latest

COPY nginx.conf /etc/nginx/nginx.conf

我的nginx配置文件:

worker_processes 1;

events { worker_connections 1024; }

http {

    sendfile on;

    upstream dashboard {
        server dashboardflaskapp:8080;
    }

    server {
        listen 8080;

        location / {
            proxy_pass         http://dashboard/;
            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;
        }
    }

}

编辑:

我正在运行装有金枪鱼的烧瓶。

FROM ubuntu:latest

RUN apt-get update
RUN apt-get install -y python2.7 python-pip

COPY requirements.txt /opt/dashboard/requirements.txt

RUN pip2 install -r /opt/dashboard/requirements.txt
COPY . /opt/dashboard

WORKDIR /opt/dashboard

EXPOSE 8080

CMD ["gunicorn", "--bind", "0.0.0.0:8080", "dashboard_app:app"]

0 个答案:

没有答案