如何在Heroku上为Docker设置动态环境变量?

如何在Heroku上为Docker设置动态环境变量?,docker,heroku,environment-variables,Docker,Heroku,Environment Variables,我在Heroku上部署了一个Ktor应用程序作为容器,并希望 而不是将解析逻辑放在我的应用程序代码中,因为它看起来非常特定。由于我将应用程序部署为一个容器,因此没有为我定义JDBC变量(JDBC_数据库_URL、JDBC_数据库_用户和JDBC_数据库_密码) 是否可以将数据库\u URL解析为环境变量 在我的Dockerfile或heroku.yml中?用于提取它们的bash脚本可能如下所示: #! /bin/bash regex="postgres://([^:]+):([^@]+)@(.+

我在Heroku上部署了一个Ktor应用程序作为容器,并希望 而不是将解析逻辑放在我的应用程序代码中,因为它看起来非常特定。由于我将应用程序部署为一个容器,因此没有为我定义JDBC变量(
JDBC_数据库_URL
JDBC_数据库_用户
JDBC_数据库_密码

是否可以将
数据库\u URL
解析为环境变量 在我的
Dockerfile
heroku.yml
中?用于提取它们的bash脚本可能如下所示:

#! /bin/bash
regex="postgres://([^:]+):([^@]+)@(.+)"

if [[ $DATABASE_URL =~ $regex ]]
then
    export JDBC_DATABASE_USER="${BASH_REMATCH[1]}"
    export JDBC_DATABASE_PASSWORD="${BASH_REMATCH[2]}"
    export JDBC_DATABASE_URL="jdbc:postgresql://${BASH_REMATCH[3]}"
fi

但是我必须做些什么才能使它们在我的应用程序中作为环境变量使用呢?

是的,可能。当您执行
export
操作,然后从
sh
脚本运行程序时,它们将作为环境变量可用。可能是。当您执行
export
并从
sh
脚本运行程序时,它们将作为环境变量可用。