首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker-compose在多个服务之间共享本地绑定卷

docker-compose在多个服务之间共享本地绑定卷
EN

Stack Overflow用户
提问于 2019-09-02 21:02:13
回答 1查看 218关注 0票数 0

我有一个单声道回收站的docker撰写文件。我有多个使用相同代码的服务,所有共享的代码都在以下文件夹结构中:

代码语言:javascript
复制
* root
|-- * shared
-   | -- * sharedA
    |    | -- src
    |    -
    | -- * sharedB
    -    | -- src
         -

当我在开发中运行我的服务(从docker compose)时,我使用一个监视程序来监视shared/sharedA/srcshared/sharedB/src上的更改

我的docker组成文件看起来像这样

代码语言:javascript
复制
version: '3'
services:
  service_a:
    build:
      context: .
      dockerfile: 'services/serviceA/Dockerfile'
    volumes:
      - ./services/serviceA/src/:/usr/src/app/services/serviceA/src
      - ./shared/sharedA/src/:/usr/src/app/shared/sharedA/src
      - ./shared/sharedB/src/:/usr/src/app/shared/sharedB/src

  service_b:
    build:
      context: .
      dockerfile: 'services/serviceB/Dockerfile'
    volumes:
      - ./services/serviceB/src/:/usr/src/app/services/serviceB/src
      - ./shared/sharedA/src/:/usr/src/app/shared/sharedA/src
      - ./shared/sharedB/src/:/usr/src/app/shared/sharedB/src

我的目标是有卷声明

代码语言:javascript
复制
- ./shared/sharedA/src/:/usr/src/app/shared/sharedA/src
- ./shared/sharedB/src/:/usr/src/app/shared/sharedB/src

在允许我一次定义它们并在每个服务中导入/连接它们的中心位置,

已尝试浏览本指南+ docker撰写文档

http://blog.code4hire.com/2018/06/define-named-volume-with-host-mount-in-the-docker-compose-file/

通过一些修改来实现它,但不幸的是我不能让它工作。

我甚至不确定这是否可能,但是关于docker compose卷的文档并不是很有帮助,所以我想这里可能有人已经处理了类似的事情

EN

回答 1

Stack Overflow用户

发布于 2019-09-03 15:57:02

您可以使用命名卷:

代码语言:javascript
复制
  version: '3'
services:
  service_a:
    build:
      context: .
      dockerfile: 'services/serviceA/Dockerfile'
    volumes:
      - sharedA:/usr/src/app/shared/sharedA/src
      - sharedB:/usr/src/app/shared/sharedB/src

  service_b:
    build:
      context: .
      dockerfile: 'services/serviceB/Dockerfile'
    volumes:
      - sharedA:/usr/src/app/shared/sharedA/src
      - sharedB:/usr/src/app/shared/sharedB/src


volumes:
  sharedA:
    driver: local
    driver_opts:
      type: none
      device: ./shared/sharedA/src/
      o: bind
  sharedB:
    driver: local
    driver_opts:
      type: none
      device: ./shared/sharedB/src/
      o: bind
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57757415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档