2

我们正在使用 OSGI enRoute ( https://enroute.osgi.org/ ),并希望在我们的 configuration.json 文件中包含环境变量。

这个想法是在 Dockerfile 中为这些环境变量分配值,以便在 Kubernetes 中进行后续部署。

带有环境变量的示例 configuration.json 文件受到赞赏,因此我们可以看到必要的语法。

在此先感谢,兰迪

4

1 回答 1

3

OSGi 仍然允许使用标准 Java API System.getenv访问环境变量

然而,更模块化(和 OSGi-y)的方式是拥有一个应用程序配置服务,您的应用程序与之交互。然后,应用程序配置服务将处理对环境变量的访问,并允许您的应用程序在 Docker 之外是可移植的和易于测试的。该服务可以处理 String 到 Integer 的类型转换(所有环境变量都被视为字符串)。这使您的 Java 应用程序不必到处进行类型转换。

注意:您需要澄清有关 json 配置的问题。Docker 注入了简单的键值对 Linux 进程环境变量。您是否可能是要指出用于配置特定 Docker 容器工具链使用的 Docker 容器的特定 JSON 配置类型?

于 2018-08-20T15:43:17.447 回答