Шаблоны в контейнере nginx
Шаблоны в контейнере nginx
Настраивая nginx под один из проектов, я столкнулся с необходимостью использовать переменные окружения в его конфигурации. Оказалось, что Docker-образ из коробки поддерживает такую возможность: создание конфигурации с подстановкой переменных окружения посредством шаблонов.
Работает это очень просто: нужно положить файл с нужным расширением в правильную папку внутри контейнера с nginx, и тогда магия сработает. По шагам:
Создаем файл конфигурации nginx. Помещаем в него нужные переменные окружения, задаем расширение
.conf.templateи монтируем внутрь контейнера по пути/etc/nginx/templates/app-config.conf.template. Пример части такого шаблона конфигурации на секцииserver:server { server_name $APP_HOST; }Передаем в контейнер переменную окружения
HOSTчерезdocker run -eили секциюenvironmentв compose-файле.
Теперь при старте на основании шаблона app-config.conf.template в контейнере nginx будет автоматически создана конфигурация app-config.conf и помещена в папку /etc/nginx/conf.d.