让主机文件夹在多个容器之间共享其数据时遇到了一个问题。假设我有两个Web服务器需要从主机的commonDir
文件夹中读取/写入,我进行了以下设置:
version: '3.5'
services:
www1:
container_name: www1
volumes:
- /home/user/commonDir:/var/www1/inc/commonDir
...
www2:
container_name: www2
volumes:
- /home/user/commonDir:/var/www2/inc/commonDir
当我点击Container1时,WWW服务在其commonDir中创建了一个test.file,当我检查主机时,它就在我的IDE中。优秀的!但是,当我检查Container2的内容时,根本没有test.file。
通过SO和docker进行搜索,我发现有一个新的顶级volumes:
条目应用于在容器之间共享数据,并且-编写方式-似乎可以包含主机文件夹。 / p>
所以我尝试以下操作:
version: '3.5'
services:
www1:
container_name: www1
volumes:
- type: volume
source: commonDir
target: /var/www1/inc/commonDir
...
www2:
container_name: www2
volumes:
- type: volume
source: commonDir
target: /var/www2/inc/commonDir
volumes:
commonDir:
name: commonDir
这对我来说很有意义,但是我似乎找不到在volumes
顶层中如何将源设置为主机文件夹的方法,以下内容似乎很有意义,但不允许:
volumes:
commonDir:
name: commonDir
source: /home/user/commonDir
有人可以协助吗?