在部署 AppEngine flex

问题描述

我想知道是否可以将参数或环境变量提供给 AppEngine 使用的 Dockerfile(弹性环境)。

我想使用这个命令:

copY ${STAGE}/keycloak-files/realm-config/* /opt/jboss/keycloak/realm-config/

“STAGE”变量将允许选择来源(我有一个“staging”和“production”目录,包含不同的配置)。

我有两个不同的 app.yml 文件,每个环境一个,但从我在线阅读的内容来看,环境变量在构建时不会暴露给 Dockerfile。

人们建议传递参数来完成任务。但是,在我们不直接执行 docker build 命令的 appengine 中,这怎么可能呢?

解决方法

正如@DamPlz 所说,在部署阶段没有直接的方法将 env 变量从 app.yaml 传递到 Dockerfile。以下是我能想到的一些解决方法:

  1. 一种选择是直接在 Dockerfile 中创建变量,如果您想在每次运行时更改它,您可以使用占位符值并在运行“gcloud app deploy”之前让脚本更新变量的值。
  2. 另一方面,您可以使用 Google Cloud Registry 中的构建触发器在 Docker image 中使用 user-defined substitutions 对其进行修改。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...