【问题标题】:How to create top-level named volume with a relative path for the source?如何使用源的相对路径创建顶级命名卷?
【发布时间】:2018-12-07 18:00:14
【问题描述】:

在 docker-compose 版本 2 中,我设置了一个具有相对路径映射的容器,例如:

volumes:
   - ./local:/var/www/local
   - ./another:/var/www/another

然后我将 volumes_from 用于其他服务以重用相同的卷和路径。

由于 compose 版本 3 删除了 volumes_from,我正在尝试创建一个可用于每个服务的命名顶级卷,但我不知道如何使用相对路径。由于这是针对本地开发的,因此开发人员之间的绝对路径可能会有所不同。

另一种选择是将上述卷配置复制到需要它的每个服务中,但据我了解,它会为每个服务创建一个新卷并增加同步开销。这里有什么解决办法?

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    您可以使用驱动程序选项。示例

    services:
      web:
        image: ubuntu
        command: tail -f /dev/null
        volumes:
          - mydata:/test
    
    volumes:
      mydata:
        driver: local
        driver_opts:
          o: bind
          device: $PWD
    

    【讨论】:

    • 谢谢。我最终使用了这样的相对路径:device: "$PWD/../../another_dir".
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多