假设有一个以下的docker-compose.yml
文件,我正在寻找一种方法,使得服务a
和b
都可以访问一个共享卷,该卷由两个容器中合并后的内容组成。
version: '3'
volumes:
shared-merged-volume:
services:
a:
volumes:
- shared-merged-volume:/shared
b:
volumes:
- shared-merged-volume:/shared
假设服务
a
在 /shared/dir-from-a
目录下,而服务 b
也有一个类似的目录 /shared-dir-from-b
。希望的结果是得到:$ ls /shared # from either container
dir-from-a
dir-from-b
我发现的是其中一个容器会“胜出”,只有其中一个目录存在。我可以通过以下方式解决这个问题,但是需要更多的代码,并且如果目录内容发生变化,需要进行修改:
version: '3'
volumes:
service-a-shared-volume:
service-b-shared-volume:
services:
a:
volumes:
- service-a-shared-volume:/shared/dir-from-a
- service-b-shared-volume:/shared/dir-from-b
b:
volumes:
- service-a-shared-volume:/shared/dir-from-a
- service-b-shared-volume:/shared/dir-from-b
非常感谢您提前提供的任何帮助!