将包含片段的巨大 docker-compose 文件拆分为多个

问题描述 投票:0回答:1

我有一个巨大的 docker-compose 文件,其中包含这样的片段和锚点:

version: '3'

x-common-repo-volumes:
 - &source-bin /path/lib/:/work/lib/
 - ...
 - ...

services:    
  foobar:
    image: ...
    volumes:
      - *source-bin
      - ...
      - ...

我想将所有片段拆分为名为

comon.yml
的单独文件:

version: '3'

x-common-repo-volumes:
 - &source-bin /path/lib/:/work/lib/
 - ...
 - ...

和真正的服务到

main.yml
(还有更多的yml文件共享相同的片段,如
second.yml

services:    
  foobar:
    image: ...
    volumes:
      - *source-bin
      - ...
      - ...

当我尝试使用

docker compose -f
运行这两个文件时,如下所示:

docker compose -f common.yml -f main.yml up d

我收到此错误:

unknown anchor 'source-bin' referenced

这里出了什么问题,如何将包含如此多锚点和片段的巨大 docker-compose 文件拆分为多个文件,以便我可以将共享片段导入到所有拆分的服务文件中?

注意:我已经在 github 上发现了类似的问题,不确定使用管道(

|
)是个好主意还是不在这里

docker docker-compose dockerfile
1个回答
0
投票

我正在调查这个有趣的问题,不幸的是,似乎不可能在不同的撰写文件之间进行锚引用。 我附上了一个链接,他们显然确认这是不可能的。

© www.soinside.com 2019 - 2024. All rights reserved.