是否可以"导入"或链接一个停靠合成文件到另一个停靠合成文件?
假设我有两个文件:
# docker-compose-1.yml
services:
A:
# config
B:
# config
# docker-compose-2.yml
services:
C:
# config
import: docker-compose-1.yml
通过运行docker-compose -f docker-compose-2.yml up
,我想启动容器A、B(在导入的文件中指定)和C。这是否可能,而不必使用-f
参数链接这两个文件?
1条答案
按热度按时间gg0vcinb1#
通过延长
可以扩展或使用多个Docker-compose文件及其服务,并将它们链接到一个文件中。您可以查看this link以了解多个compose文件的其他用法。但如果不像您提到的那样将相关文件链接在一起,则无法包含该文件。
在这里,我定义了一个
common-services.yaml
:然后,我创建了一个
docker-compose.yml
,并包含了common-services.yml
文件和它自己的服务。使用.env技术
如果你想避免链接使用多个文件,还有a technique和
.env
文件,我将用.env
技术重写前面的例子。让我们在common-services.yml中添加另一个服务作为示例
最后,将它们全部加载到docker-compose文件中,甚至不提及这些服务。
最后,您将拥有三个正在运行的服务。