docker - 如何在 Heroku 上为 Docker 设置动态环境变量?
问题描述
我有一个 Ktor 应用程序部署为 Heroku 上的容器,并希望通过环境变量设置数据库属性,如此处所述,
而不是将解析逻辑放在我的应用程序代码中,因为它似乎非常特定于 Heroku。由于我将应用程序部署为容器,因此没有为我定义 JDBC 变量(JDBC_DATABASE_URL
和)JDBC_DATABASE_USER
。JDBC_DATABASE_PASSWORD
是否可以解析为 my orDATABASE_URL
中的环境变量?用于提取它们的 bash 脚本可能如下所示:Dockerfile
heroku.yml
#! /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
但是我该怎么做才能使它们在我的应用程序中作为环境变量可用?
解决方案
推荐阅读
- python - 使用 Python 和“scrape-linkedin”包抓取配置文件
- c# - 实体框架未在 SQL Server 中创建外键
- spring-boot - Spring 和 Kafka - 具有相同组 ID 的多个消费者 - 只有一个消费者获取消息
- javascript - 强制div具有均匀的宽度和高度?
- sql - 为我的表中的每个列名提取一个 NOT NULL 值
- java - 如何从具有不同值的类型类的 ArrayList 中获取特定值
- azure - OAuth 2.0 Azure Active Directory <> next-auth
- python - 如何使用熊猫将字符串中的值转换为列?
- java - 将 Thymeleaf 块内容作为变量传递给片段
- reactjs - 令牌刷新后是否需要再次调用 firebase.database.on()?