[英]nginx doesn't forward to django app in docker-compose in ubuntu but it all works in docker-machine in Mac
我有一个Django后端,我在其中使用docker-compose进行部署。 此django应用程序在前面使用nginx代理。
当我将其部署在docker-machine中并转到docker-machine ip时,我被正确重定向到django站点。
但是,当我将其部署到docker上的ubuntu机器中时,当我转到nginx容器的ip时,将获得默认的nginx页面,但不会重定向到django应用程序。 Nginx容器也不会记录任何错误。 所有服务都在docker中运行,没有任何错误。
我正在共享Nginx的配置文件,下面是docker-compose文件
nginx.conf
server {
listen 80;
server_name omaha;
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/ssl.crt;
ssl_certificate_key /etc/nginx/ssl/ssl.key;
charset utf-8;
client_max_body_size 200M;
location / {
proxy_pass http://web:8000;
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-Proto $scheme;
}
}
nginx docker文件
FROM nginx
COPY conf/nginx.conf /etc/nginx/conf.d/nginx.conf
COPY certs/ /etc/nginx/ssl
泊坞窗,compose.yml
version: '2'
services:
nginx:
restart: always
build:
context: ./nginx/
ports:
- "80:80"
- "443:443"
volumes_from:
- web
web:
restart: always
build:
context: ./web
depends_on:
- web_ffmpeg
- postgres
- redis
- rabbitmq
expose:
- "8000"
environment:
- DEBUG=True
command: /usr/local/bin/gunicorn wsgi:application -w 2 -b :8000
web_ffmpeg:
restart: always
build:
context: ./web
depends_on:
- postgres
- redis
- rabbitmq
expose:
- "8000"
command: /usr/local/bin/celery -A trigger worker -l info
postgres:
restart: always
image: postgres:latest
expose:
- "5432"
volumes:
- pgdata:/var/lib/postgresql/data/
redis:
restart: always
image: redis:latest
expose:
- "6379"
volumes:
- redisdata:/data
rabbitmq:
restart: always
image: rabbitmq:3-management
environment:
RABBITMQ_DEFAULT_USER: 'adminuser'
RABBITMQ_DEFAULT_PASS: 'xxxxxxxxx'
RABBITMQ_DEFAULT_VHOST: 'myvhost'
ports:
- "15672:15672"
expose:
- "5672"
volumes:
elk-data:
pgdata:
redisdata:
web-data:
web-ffmpeg-data:
软件版本:
我什至在两个工作站之间匹配了所有版本。 版本是
我尝试了所有版本的组合,仍然存在相同的问题。
在docker机器中和直接在ubuntu机器上使用docker-compose有什么不同。
问题出在gunicorn配置中。
我没有将其绑定到0.0.0.0:8000,而是将它绑定到:8000。 这就是问题所在。 我仍然不知道为什么它可以在机器上工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.