首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Azure容器实例上将环境变量传递给Apache Superset码头容器

如何在Azure容器实例上将环境变量传递给Apache Superset码头容器
EN

Stack Overflow用户
提问于 2022-07-08 17:02:01
回答 2查看 484关注 0票数 2

我能够使用Azure创建Apache Superset的工作容器组,如下所示:

代码语言:javascript
复制
az container create --resource-group myrg --name superset-test --image apache/superset:1.5.1 --dns-name-label superset-test --ports 80 8088 --cpu 2 --memory 8

现在,我想传递一些环境vars来自定义部署,例如,我希望数据库后端是我的Azure灵活服务器,而不是默认的Postgres停靠容器superset_db。但我不知道如何通过环境变量传递这些信息。

我试过像这样用--environment-variables

代码语言:javascript
复制
az container create --resource-group myrg --name superset-test --image apache/superset:1.5.1
 --dns-name-label superset-test --ports 80 8088 --cpu 2 --memory 8 --environment-variables DATABASE_DIALECT="postgresql"
"DATABASE_USER"="superset" "DATABASE_PASSWORD"="superset" "DATABASE_HOST"="azpostgresql1.mydomain.com"
"DATABASE_PORT"="5432" "DATABASE_DB"="superset" 

但是它们似乎被忽略了-- Superset容器以相同的方式启动,没有数据被填充到我的数据库中。我可以通过CLI做这个吗?或者还有其他方式来执行这个部署?

更新:我现在关注的是SECRET_KEY变量,因为如果一个变量未被传递,那么当我通过Azure门户连接到它并运行superset init时,将使用缺省值并在容器中显示一条消息。

检测到默认的SECRET_KEY,请使用superset_config.py覆盖它。

这是验证问题是否存在于我的env变量中的一个清晰的方法。容器启动后,我可以通过将其作为数据库源列出并测试连接来验证与我希望用作应用程序后端的Postgres DB的连接。

EN

回答 2

Stack Overflow用户

发布于 2022-07-11 16:59:08

您试过按照这个例子通过Azure门户运行这个容器吗?这将确保所有变量的存在和正确分析。

Azure文档建议在env规范中使用单引号'而不是双"。根据这个docs示例。虽然我意识到这不应该有太大的区别。

如果您对上面的内容不太满意,您可能还想探索另一种选择--您见过Superset 数据库连接UI吗?它在检查连接性方面可能是有用的。

除此之外,很难探索其他选择。更多的背景将有助于:

  • 你见过到达目标数据库的流量吗?
  • 本地邮电是否有流量?
  • 您是否有可能在web门户中确认通过cli正确设置了变量?
票数 1
EN

Stack Overflow用户

发布于 2022-07-11 11:34:26

而不是使用、CLI、、使用PgAdmin。在PgAdmin中,我们可以将应用程序与Postgres连接到本地或天蓝色平台上。PgAdmin凭据中直接提到的问题中显示的环境变量,它将允许访问数据库的应用程序。

按照以下步骤:

  • 开放PgAdmin
  • 左侧,单击Servers
  • 单击下拉
  • 右键单击,打开集群,并选择属性
  • 单击打开连接选项卡,并给出所创建的所有环境变量。
  • 设置所有变量后,再次检查应用程序的工作情况。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72914714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档