【发布时间】:2016-02-02 09:23:58
【问题描述】:
背景:
目前我们正在使用 Docker 和 Docker Compose 来提供我们的服务。我们已将不同环境的配置外部化为定义应用程序读取的环境变量的文件。例如prod.env 文件:
ENV_VAR_ONE=Something Prod
ENV_VAR_TWO=Something else Prod
还有一个test.env 文件:
ENV_VAR_ONE=Something Test
ENV_VAR_TWO=Something else Test
因此我们可以在启动容器时简单地使用prod.env 或test.env 文件:
docker run --env-file prod.env <image>
然后,我们的应用程序会根据prod.env 中定义的环境变量获取其配置。
问题:
- 有没有办法从 Kubernetes 中的文件中提供环境变量(例如在定义 pod 时),而不是像这样硬编码它们:
- 如果这不可能,建议的方法是什么?
【问题讨论】:
-
我也在寻找这样的东西。我不想创建
Secret或ConfigMap资源,因为这只是临时的并用于测试。我在 k8s 集群中的权限有限。我也许可以创建一个Secret资源,但一旦创建,我将无法删除它们。
标签: configuration docker environment-variables configuration-files kubernetes