@syschel
На сервере крутится несколько сайтов, больше 10. Каждый надо спрятать в свой докер контейнер. Как при этом правильно настроить nginx конфиги (в глобальном nginx который смотрит во вне, а не внутри каждого контейнера, чтобы слушало именно домены и отдавало данные из нужных контейнеров)? Особенно если будут появляться новые сайты/домены.
Сайты на python/django и сейчас они связываются в nginx через socket
upstream project1-uwsgi {
server unix:///.../project1/uwsgi.sock;
}
server {
listen 80;
server_name project1.ru;
location / {
uwsgi_pass project1-uwsgi;
include uwsgi_params;
}
}
В докере же как понимаю, будет всё глядеть из контейнера просто портом. Все сайты одного сервера раскидывать через разные порты или есть более красивое решение?
Спасибо за ответы.
Решения вопроса 0
Ответы на вопрос 3
@maksam07
Когда я пытался подобное реализовать, то докер постучал мне по лбу и сказал: ай-ай-ай, не надо так, я не умею такое. Времена может быть и изменились, но прошлые конфиги я пока что не менял. А то есть — хостмашина теперь без нгинкс, изначально веб порты ни кто не прослушивает, но потом в игру вступает докер с нгинкс, который слушает 2 порта (80,443), и при помощи объединения в одну сеть можно контейнеры связывать между собой. Единственное, у меня выходит 2 нгинкса — 1 общий и 1 в каждом проекте, не знаю, правильно ли это, но по другому не получалось нормально настроить.
@SignFinder
Nginx Reverse proxy https://docs.nginx.com/nginx/admin-guide/web-serve…
@yarkov
Посмотрите на Traefik. Самое то под вашу задачу.