Architecture 如何在Docker Compose V2中扩展服务?

Architecture 如何在Docker Compose V2中扩展服务?,architecture,docker,docker-compose,Architecture,Docker,Docker Compose,我有三个不同的项目,ProjectA依赖于ProjectB,而ProjectB又依赖于ProjectC 假设您只想开发ProjectC,所以我只想在运行时使用带有一个容器的设置 ProjectB需要ProjectC,所以我必须定义一个包含两个图像的docker compose ProjectA再次需要ProjectB和ProjectC,因此我担心依赖链越长,我就必须在eachdocker compose.yml文件中重复很多内容 我知道我可以在docker-compose.yml中链接外部图像,

我有三个不同的项目,ProjectA依赖于ProjectB,而ProjectB又依赖于ProjectC

假设您只想开发ProjectC,所以我只想在运行时使用带有一个容器的设置

ProjectB需要ProjectC,所以我必须定义一个包含两个图像的docker compose

ProjectA再次需要ProjectB和ProjectC,因此我担心依赖链越长,我就必须在each
docker compose.yml
文件中重复很多内容

我知道我可以在docker-compose.yml中链接外部图像,但这意味着需要更多的手动设置,因为我必须签出每个项目并在每个项目中运行docker-compose.yml

基本上,我想知道如何为微服务架构管理docker compose设置


缺少更好的短语:我可以扩展docker-compose.yml文件吗?

您可以从另一个YAML文件扩展docker-compose.yml中的服务。只需在docker-compose.yml中使用密钥

例如:

项目C.yml

webapp:
 build: .
 environment:
   - KEY=VALUE
 ports:
   - "8000:8000"
项目b.yml

web:
  extends:
    file: projectC.yml
    service: webapp

您可以从另一个YAML文件扩展docker-compose.yml中的服务。只需在docker-compose.yml中使用密钥

例如:

项目C.yml

webapp:
 build: .
 environment:
   - KEY=VALUE
 ports:
   - "8000:8000"
项目b.yml

web:
  extends:
    file: projectC.yml
    service: webapp
下一个版本(1.5.0)将支持一种扩展合成的方法(请参阅)。如果你想试一试的话,它现在在master中

我认为您所描述的内容与此建议非常接近

下一版本(1.5.0)将支持一种扩展合成的方法(请参阅)。如果你想试一试的话,它现在在master中


我认为您所描述的内容与此提案非常接近

当前的扩展系统似乎非常严格,因为带有“链接”的
服务无法扩展
。当前的扩展系统似乎非常严格,因为带有“链接”的
服务无法扩展。简言之,我认为目前的答案是否定的。
extends
非常有限(请参阅),并且没有
包含
/
路径
或多文件撰写(请参阅和)相关:简言之,我认为目前的答案是否定的。
extends
非常有限(请参阅)并且没有
包含
/
路径
或多文件组合(请参阅和)相关: