Для развертывания применяю docker compose. Часть yml файла выглядит так:
web:
build: .
volumes:
- ./app_data:/app/media/favicon
- ./static:/app/static
ports:
- 8000:8000
restart: unless-stopped
depends_on:
- db
При таком подходе к приложению можно получить доступ как на 80 порту, через Nginx, так и на 8000 в обход Nginx, так как порт проброшен на локальных хост. Если применить такой подход:
expose:
- 8000
Nginx не видит порт 8000, так как находится вне внутренней сети контейнера. Как правильно пробросить порт с контейнера, чтобы с ним мог работать Nginx и не мог получить доступ пользователь.