#django #docker #nginx
#django #docker #nginx
Вопрос:
Я запускаю свое приложение Django в docker-compose и открываю порт 8000. У меня установлен Nginx на виртуальной машине без docker, и я хочу, чтобы он перенаправлял запросы в мое приложение Django, я пытался использовать сеть хоста в моем docker-compose и создать внешнюю сеть, но ничего не сработало, и я всегда получаю 502 Bad gateway
это мой nginx.conf:
events {
worker_connections 4096; ## Default: 1024
}
http{
include /etc/nginx/conf.d/*.conf; #includes all files of file type.conf
server {
listen 80;
location /static/ {
autoindex on;
alias /var/lib/docker/volumes/app1_django-static;
}
location /media/ {
autoindex on;
alias /var/lib/docker/volumes/app1_django-media;
}
location / {
proxy_pass http://localhost:8000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
#For favicon
location /favicon.ico {
alias /code/assets/favicon.ico;
}
# Error pages
error_page 404 /404.html;
location = /404.html {
root /code/templates/;
}
}
}
и это мой файл docker-compose:
version: "3.2"
services:
web:
network_mode: host
image: nggyapp/newsapp:1.0.2
restart: always
ports:
- "8000:8000"
volumes:
- type: volume
source: django-static
target: /code/static
- type: volume
source: django-media
target: /code/media
environment:
- "DEBUG_MODE=False"
- "DB_HOST=.."
- "DB_PORT=5432"
- "DB_NAME=db"
- "DB_USERNAME=.."
- "DB_PASSWORD=.."
volumes:
django-static:
django-media:
Комментарии:
1. Можете ли вы
curl http://localhost:8000/
со своей виртуальной машины?2. да, когда я выполняю curl localhost: 8000 ; я получаю HTML-шаблон