不同的环境文件,但与Docker Compose相同的yml?

我发现我有多个环境(例如测试和生产)是很常见的,但是我希望启动的Docker容器在两种环境中都是相同的。唯一的区别是我想使用来指定的应用程序配置env-

file。由于我有多个容器以及它们之间的依赖关系,因此我想使用docker-

compose。但是afaik我只能env-filedocker-

compose.yml文件内部指定一个(请参阅docs)。如果是这种情况,那么我需要将我的原始docker-

compose.yml文件克隆到两个不同的文件(一个用于测试,一个用于产品),以指向不同的环境文件。这意味着我必须维护两个docker-

compose.yml文件,而不是一个文件;如果进行任何更改,则需要更新两个文件。

这真的是根据设计吗?为什么docker-compose不让我指定--env-file执行时间docker-compose updocker-

compose run

回答:

这是Docker Compose急需的功能。不幸的是,目前的答案是你做不到。我建议订阅这些GitHub问题,以更好地了解何时以及是否实现此功能:

  • https://github.com/docker/compose/issues/495
  • https://github.com/docker/compose/pull/76
  • https://github.com/docker/compose/pull/845

实际上,该问题在他们的问题存储库中的第495期实际上是评论最多的。您绝对不是唯一想这样做的人。

更新:

最新的问题跟踪位于https://github.com/docker/compose/issues/1377。

更新#2:

此功能已合并,自Docker Compose

1.5.0起可用。有关使用信息,请参见https://github.com/docker/compose/blob/129092b7/docs/yml.md#variable-

substitution。

以上是 不同的环境文件,但与Docker Compose相同的yml? 的全部内容, 来源链接: utcz.com/qa/415872.html

回到顶部