Используйте переменные среды, определенные с Figaro в Docker

Если я не ошибаюсь, похоже, что определенные с Figaro переменные недоступны в Docker-контейнере. я имею env файлы для настройки Postgresq DB: POSTGRES_USER=ENV['db_user'] POSTGRES_PASSWORD=ENV['db_password] POSTGRES_DB=ENV['db_name'] я имею application.yml файл, скопированный со всеми другими файлами приложения Rails в контейнер (я мог проверить это с ls в оболочке контейнера).

Это нормальное поведение?

0 ответов

Я также столкнулся с этой проблемой при работе над приложением Rails.

Здесь следует отметить, что для Docker переменные среды помещаются в.env файл или env_file (my_variables.env). Файлы среды помещены в.yml или .yaml файлы (application.yml) не часто распознаются Docker во время выполнения. Вот ссылка на официальную документацию Docker, которая объясняет это дальше: Файл ".env "

Примером таких переменных среды являются строки подключения к базе данных, которые требуются во время процесса запуска приложения, например:

database_name
database_username
database_password

Тем не менее, вы все равно можете использовать гем Figaro для определения переменных, которые не требуются при запуске приложения, например:

RAILS_MASTER_KEY

Вот и все.

надеюсь, это поможет

Другие вопросы по тегам