在docker compose中的容器之间共享保险丝安装,而无需在主机上保留任何内容

在docker compose中的容器之间共享保险丝安装,而无需在主机上保留任何内容,docker,docker-compose,mount,docker-volume,fuse,Docker,Docker Compose,Mount,Docker Volume,Fuse,当容器共享FS时,如何在容器之间共享卷是非常简单的,但是当一个端点指向一个目录,该目录不仅具有不同的FS,而且该FS在容器运行后发生更改,而另一个端点想要复制它(ro模式)时,情况会变得更加复杂 一个重要的部分是共享卷不应存储在主机上。它应该只在容器之间“活动”,而不是持久的 下面的片段不起作用,它只是给我一个想法,说明我正在努力实现的目标(见评论) 版本:“3.7” 服务: #此服务启动时,/mnt是一个空的、未安装的目录。 #然后它运行一个可执行文件,该文件将挂载一个FUSE文件系统 #在/

当容器共享FS时,如何在容器之间共享卷是非常简单的,但是当一个端点指向一个目录,该目录不仅具有不同的FS,而且该FS在容器运行后发生更改,而另一个端点想要复制它(ro模式)时,情况会变得更加复杂

一个重要的部分是共享卷不应存储在主机上。它应该只在容器之间“活动”,而不是持久的

下面的片段不起作用,它只是给我一个想法,说明我正在努力实现的目标(见评论)

版本:“3.7”
服务:
#此服务启动时,/mnt是一个空的、未安装的目录。
#然后它运行一个可执行文件,该文件将挂载一个FUSE文件系统
#在/mnt下
应用程序:
#应用
卷数:
-类型:绑定
资料来源:共享
目标:/mnt
绑定:
传播:共享
特权:真的
设备:
-“/dev/fuse”
#此服务希望读取(只读)此服务的内容
#FUSE fs来自'app'服务,因此它应该充当从服务器
nginx:
#nginx
卷数:
-类型:绑定
资料来源:共享
目标:/whateve#“app”的/mnt dir的只读副本(不必是fuse FS)
绑定:
传播:共享
卷数:
共享\u mnt:

不将数据持久化到磁盘并共享卷是不可能的。使用
绑定装载
卷将文件持久保存到磁盘。您可以使用NFS共享备份卷,也就是说,然后数据将持久化到NFS服务器磁盘。您可以查看现有的
卷插件
,如果有什么符合您的要求,但我不知道您可以
docker卷创建
,它将数据存储在内存中,并且可以在容器之间共享。可能可以在
docker
卷支持下运行NFS服务器然后配置您的服务以将其卷输出到该NFS服务器实例。这听起来是一个不错的解决方法。谢谢你的建议@masseyb