проект в котором два контейнера с nginx: один для API (api-nginx), второй для фронта (app-nginx). Конфиги для них, естественно, разные. Когда конфиги просто биндились в /etc/nginx/conf.d, то все было нормально. Теперь возникла необходимость параметризировать окружения/конфиги и поэтому переделал на templates. Переменные из docker-compose нормально в контейнеры передаются, причем для каждого из них (api-nginx и app-nginx) свой набор переменных.
Сначала была проблема с тем, что после сборки контейнеры не запускались. Выяснил, что api-nginx нужны переменные для app-nginx и наоборот. Удивился этому, но прописал все переменные (в docker-compose видно, обозначены как костыли). Собралось и тут я удивился во второй раз, когда в каждом контейнере оказались оба конфига: для api-nginx и app-nginx.
Докерфайлы и темплейты для этих контейнеров лежат в разных директориях.
Как такое может быть?
О какой магии я не знаю?
docker-compose.yaml - https://pastebin.com/jGTkFKnB
Dockerfile для api-nginx - https://pastebin.com/TYdd8CRn
Dockerfile для app-nginx - https://pastebin.com/C29Mk5jQ
Коллеги, никто не подскажет по этому вопросу?
Конфиги при билде контейнера/образа в него попадают Вот пример Dockerfile для контейнера app-nginx # Dockerfile FROM registry.aaa.ru/nginx:mainline RUN mkdir -p /etc/nginx/templates && rm -f /etc/nginx/conf.d/default.conf COPY app-nginx.conf.template /etc/nginx/templates
Обсуждают сегодня