Правильно ли я понимаю, что рекомендуете сделать следующее. Допустим ситуация: есть 2 проекта на Django. Докеризируем каждый проект в 3 контейнера: Nginx-unit, Django, PostgreSQL. Проекты собираются docker-compose, базы по разному названы и всё работает изолированно. Nginx-unit одного проекта доступен допустим по 10001 порту, второй проект — 10002.
Фронтом стоит ещё один Nginx (не в контейнере), которые получает запросы и проксирует их на порты 10001 и 10002 в зависимости к какому server_name обратились.
Так?
в твоем кейсе 1 nginx должен видеть все контейнеры если они в рамках одной сети, и они будут доступны по своему имени. делаешь upstream backends { server1; server2; } и proxy_pass backends;
Т.е. фронтовый Nginx делает proxy_pass на uwsgi в контейнере? А как в таком случае прокидывать статику?.. Нужно ли ещё один nginx запихивать в контейнер, который будет обслуживать контейнерезированный проект?
фронтовый nginx делает proxy_pass на http бекенд джанги. Статика лежит в отдельном волуме, который ro маунтится к nginx. Либо по модному - статику в s3 или куда-то на отдельный сторадж/cdn. Статика в контейнерах это вообще не очень, по идеологии. Разве что какая-то очень постоянная