我有一个基于Docker的组件项目,并与docker-compose
一起编排。其中一些是可选的,可以在运行时添加。
我可以考虑两种方法来实现这一目标:
serviceA.yml
撰写文件并将其作为单独的项目运行serviceA
添加到我的基地compose.yml
并再次运行这样做的首选方法是什么?
我还看到您可以将docker-compose
个文件与extend
关键字合并,但我认为这不适合,因为我的服务数量可变,我可以在运行时添加。
答案 0 :(得分:5)
我通常以having multiple yml files结束。
然后,您可以向 docker-compose 命令添加几个 -f 标志,以指示要运行的服务。
例如,有:
您可以执行以开始:
docker-compose -f docker-compose.yml -f docker-compose-additional-services.yml up
它将启动所有服务。
请注意,所有服务都被合并,就好像它们位于单个文件中一样,因此您可以将( depends_on , link )服务从一个文件引用到另一个文件。