【发布时间】:2020-06-23 22:03:43
【问题描述】:
我有一个 scala sbt 应用程序并且有一个默认的 application.conf。
我构建了一个 docker 镜像来通过 docker 运行这个应用程序。
如何在运行时替换 docker 容器中的默认 application.conf?
【问题讨论】:
标签: scala docker docker-compose dockerfile sbt-native-packager
我有一个 scala sbt 应用程序并且有一个默认的 application.conf。
我构建了一个 docker 镜像来通过 docker 运行这个应用程序。
如何在运行时替换 docker 容器中的默认 application.conf?
【问题讨论】:
标签: scala docker docker-compose dockerfile sbt-native-packager
我建议不要使用覆盖传递 application.conf 文件,而是使用基于环境变量的覆盖,原因如下:
因此,您可以执行以下操作: 在您的应用程序配置中通过环境变量覆盖:
foo=default
foo={?FOO}
并使用特定覆盖运行应用程序 docker 容器:
docker run ...
-e foo=bar \
...
详情请看:
Optional system or env variable overrides:https://github.com/lightbend/config#optional-system-or-env-variable-overrides
希望这会有所帮助!
【讨论】:
docker run ... \
--volume=[[YOUR-HOST-PATH]]/application.conf:[[YOUR-IMAGE-PATH]]/application.conf
...
【讨论】: