Переменные пользовательской среды Node-config не выбираются Переменные среды Docker - PullRequest
0 голосов
/ 13 декабря 2018

Работа в ОС Windows.

В моем приложении-узле, использующем node-config, не используются переменные окружения Docker.Он всегда использует конфигурацию по умолчанию.

Я использую пользовательские переменные среды config-узла, как описано здесь: https://github.com/lorenwest/node-config/wiki/Environment-Variables#custom-environment-variables

Все работает хорошо при локальном запуске приложения.Конфигурация проходит по умолчанию и принимает те, которые определены в моих пользовательских переменных, когда установлено.

Проблема

  • Я запускаю экземпляр докера со всей необходимой средойнабор переменных.
  • Проверка переменных env выполняется с помощью команды docker exec container_name env

Однако приложение узла по-прежнему использует конфигурацию по умолчанию вместо переменных среды.

Я не уверен, какую настройку мне не хватает.

1 Ответ

0 голосов
/ 25 марта 2019

Я поддерживаю node-config.Я не тестирую с Docker или Heroku, но в большинстве случаев это проблема заказа.Пока переменные среды установлены до того, как произойдет require('config'), они будут работать - в этот момент Docker или Heroku не имеют значения.В этот момент действие происходит внутри движка JavaScript Node.js.

Попробуйте этот простой тест: перед строкой, в которой вы require('config'), используйте console.log или эквивалент для вывода переменных окружения, которые вас интересуют.Я ожидаю, что вы обнаружите, что когда он не работает, это потому, что переменные среды не установлены до загрузки node-config.

...