我正在尝试制作一个反向代理,并将其与nginx、gunicorn、docker和docker compose一起用于我的flask应用程序。在此之前,nginx部分与web应用在同一个容器中,我试图将其分离。
我的docker_compose yaml文件是:
version: '3.6'
services:
nginx:
restart: always
build: ./nginx/
ports:
- 8008:8008
networks:
- web_net
flask_min:
build: .
image: flask_min
container_name: flask_min
expose:
- "8008"
networks:
- web_net
depends_on:
- nginx
networks:
web_net:
driver: bridge
我的档案是:
FROM python:3.6
MAINTAINER aurelien beliard (email@domain.com)
RUN apt update
COPY . /usr/flask_min
WORKDIR /usr/flask_min
RUN useradd -r -u 20979 -ms /bin/bash aurelien.beliard
RUN pip3 install -r requirements.txt
CMD gunicorn -w 3 -b :8008 app:app
我的nginx docker文件是
FROM nginx
COPY ./flask_min /etc/nginx/sites-available/
RUN mkdir /etc/nginx/sites-enabled
RUN ln -s /etc/nginx/sites-available/flask_min /etc/nginx/sites-enabled/flask_min
我在/etc/nginx sites中的nginx配置文件可用,并且站点已启用,名为flask min:
server {
listen 8008;
server_name http://192.168.16.241/ ;
charset utf-8;
location / {
proxy_pass http://flask_min:8008;
} }
requirements.txt文件是:
Flask==0.12.2
grequests==0.3.0
gunicorn==19.7.1
Jinja2==2.10
这两个容器创建良好,gunicorn启动良好,但我无法访问应用程序,nginx访问和错误日志中没有任何内容。
如果您有任何想法,将非常感谢。
抱歉,英语不是我的母语。