不同的环境文件,但与Docker Compose相同的yml?
我发现我有多个环境(例如测试和生产)是很常见的,但是我希望启动的Docker容器在两种环境中都是相同的。唯一的区别是我想使用来指定的应用程序配置env-
file。由于我有多个容器以及它们之间的依赖关系,因此我想使用docker-
compose。但是afaik我只能env-file
在docker-
compose.yml文件内部指定一个(请参阅docs)。如果是这种情况,那么我需要将我的原始docker-
compose.yml文件克隆到两个不同的文件(一个用于测试,一个用于产品),以指向不同的环境文件。这意味着我必须维护两个docker-
compose.yml文件,而不是一个文件;如果进行任何更改,则需要更新两个文件。
这真的是根据设计吗?为什么docker-compose
不让我指定--env-file
执行时间docker-compose up
或docker-
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