Используйте переменные среды, определенные с 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
Вот и все.
надеюсь, это поможет