Playframework Play framework 2.5.1环境变量和属性替换

Playframework Play framework 2.5.1环境变量和属性替换,playframework,properties,environment-variables,playframework-2.5,Playframework,Properties,Environment Variables,Playframework 2.5,我想在Docker中设置一个播放应用程序,并想使用属性和环境变量传入DB连接参数 下面的方法有效吗 play.modules.enabled += "play.modules.reactivemongo.ReactiveMongoModule" mongo-async-driver { akka { loglevel = WARNING } } mongodb { host = ${?MONGO_HOST} port = ${?MONGO_PORT} user =

我想在Docker中设置一个播放应用程序,并想使用属性和环境变量传入DB连接参数

下面的方法有效吗

play.modules.enabled += "play.modules.reactivemongo.ReactiveMongoModule"

mongo-async-driver {
  akka {
    loglevel = WARNING
  }
}
mongodb {
  host = ${?MONGO_HOST}
  port = ${?MONGO_PORT}
  user = ${?MONGO_USER}
  pass = ${?MONGO_PASS}
  db = ${?MONGO_DB}
  uri = "mongodb://"${mongodb.user}":"${mongodb.pass}"@"${mongodb.host}":"${mongodb.port}"/"${mongodb.db}"?authMode=scram-sha1&rm.tcpNoDelay=true&rm.nbChannelsPerNode=10"
}

admindb {
  host = ${?MONGO_HOST}
  port = ${?MONGO_PORT}
  user = ${?MONGO_USER}
  pass = ${?MONGO_PASS}
  db = ${?MONGO_DB}
  uri = "mongodb://"${admindb.user}":"${admindb.pass}"@"${admindb.host}":"${admindb.port}"/"${admindb.db}"?authMode=scram-sha1&rm.tcpNoDelay=true&rm.nbChannelsPerNode=10"
}
我想传入以下环境变量:

  • MONGO_主机
  • 蒙哥乌港
  • MONGO_用户
  • 蒙古关
  • 蒙哥乌数据库

  • 并希望HOCON属性替换构造最终uri,在代码中,我将以mongodb.uri和admindb.uri访问它以获得最终值。

    发现上述方法是将环境变量传递到Play Framework应用程序的最佳方法

    如果它是docker容器,那么环境变量可以通过
    -e KEY=VALUE
    命令行参数


    这可用于为应用程序提供更动态的特性,可能用于多租户或安全地分配DB凭据等。

    那么,您到底有什么疑问?如何使用docker配置环境变量?如何使用hocon引用环境变量?两者都有,但我已经解决了。你可以回答你自己的问题。这将对将来的其他用户有用。;-)