我想在 Docker 中设置一个 Play 应用程序,并希望使用属性和环境变量传入数据库连接参数。
下面的方法是一种有效的方法吗?
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_HOST
- MONGO_PORT
- MONGO_USER
- MONGO_PASS
- MONGO_DB
并希望 HOCON 属性替换来构造最终的 uri,在代码中我将作为 mongodb.uri 和 admindb.uri 访问它以获得最终值。