Compose: env_file 从 .env 和 shell 中插入变量,与 environment 相同

创建于 2016-09-11  ·  3评论  ·  资料来源: docker/compose

我在“.env”文件中定义了一些配置变量。
所以,如果我可以在我的 compose yml 文件中这样使用它们:

  environment:
   - VAR=${VAL_FROM_ENV}
  env_file:
    - etc/environment.yml

为什么我不能在我的 environment.yml 中使用它?

DEMO_VAR='${VAL_FROM_ENV}'

我将env_file 视为文件中环境字段的扩展名,并且坚持来自 shell vars 的覆盖也非常有意义。

对我来说,.env 文件用于 Compose 和 environment/env_file 用于 docker-containers 是有意义的。
终端环境变量覆盖 .env 中的变量对我来说也很有意义。

我认为我可以拥有许多 env.yml 文件或只有一个并重用它,这很酷。 使其与环境字段变量相同的工作将使整个组合事物变得更加动态和相互关联(并且您不会到处传递所有内容)。 而且我不必在许多不同的地方重新输入所有内容。

背景 - 我正在使用 docker machine / compose(以前使用 vagrant)在 mac 上编排开发环境,并且一直在寻找一种方法将每个应用程序的所有重要设置保存在一个文件中(应用程序在 compose 文件中定义的某个堆栈上运行),其中恕我直言,让生活更轻松地处理许多项目/开发人员。 另外,我真的不喜欢在不同的配置文件中硬编码敏感数据。

我一直在关注 #3435(由环境或 env_file 设置的插值变量)的讨论,虽然我非常想要这样,但我不认为 compose yml 文件是定义要在其他地方使用的变量的好地方(在 compose/docker 文件中? ) 因为这会导致完全不可读的变量混合(谁在哪里设置或读取?)。

谢谢你。 :)

码头工人撰写版本
docker-compose 版本 1.8.0,构建未知
docker-py 版本:1.9.0
CPython 版本:2.7.10
OpenSSL 版本:OpenSSL 0.9.8zh 2016 年 1 月 14 日

stale

最有用的评论

如果没有这部分工作,实现真的不一致。

所有3条评论

如果没有这部分工作,实现真的不一致。

此问题已自动标记为过时,因为它最近没有活动。 如果没有进一步的活动,它将被关闭。 感谢你的贡献。

此问题已自动关闭,因为它在过时期间没有最近的活动。

此页面是否有帮助?
0 / 5 - 0 等级