我有一个巨大的 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 上发现了类似的问题,不确定使用管道(
|
)是个好主意还是不在这里
我正在调查这个有趣的问题,不幸的是,似乎不可能在不同的撰写文件之间进行锚引用。 我附上了一个链接,他们显然确认这是不可能的。