【问题标题】:Rails: Use environment variables defined with Figaro in DockerRails:在 Docker 中使用 Figaro 定义的环境变量
【发布时间】:2019-01-15 22:19:45
【问题描述】:

如果我没记错的话,似乎用 Figaro 定义的变量在 Docker 容器中不可用。 我有 env 文件来配置 Postgresq DB: POSTGRES_USER=ENV['db_user'] POSTGRES_PASSWORD=ENV['db_password] POSTGRES_DB=ENV['db_name'] 我已将 application.yml 文件与所有其他 Rails 应用程序文件一起复制到容器中(我可以在容器外壳中使用 ls 检查它)。

这是正常行为吗?

【问题讨论】:

    标签: ruby-on-rails docker figaro-ruby


    【解决方案1】:

    我在使用 Rails 应用程序时也遇到过这个问题。

    这里要注意的是,对于 Docker,环境变量放在.env 文件或env_file (my_variables.env) 中。放置在 .yml.yaml 文件 (application.yml) 中的环境文件在运行时通常不会被 Docker 识别。这是 Docker 官方文档的链接,进一步解释了它:The “.env” file

    此类环境变量的一个示例是 数据库连接字符串,它们在应用程序启动过程中是必需的,例如:

    database_name
    database_username
    database_password
    

    但是,您仍然可以使用 Figaro gem 来定义应用程序启动期间不需要的变量,例如:

    RAILS_MASTER_KEY
    

    就是这样。

    我希望这会有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-09
      • 1970-01-01
      • 2015-08-05
      • 1970-01-01
      • 2018-04-04
      • 1970-01-01
      • 2021-08-18
      相关资源
      最近更新 更多