我正在尝试使用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"]