docker-撰写多个容器之间的“卷”共享

时间:2020-08-06 02:47:38

标签: docker-compose

让主机文件夹在多个容器之间共享其数据时遇到了一个问题。假设我有两个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

有人可以协助吗?

0 个答案:

没有答案