我有一个单声道回收站的docker撰写文件。我有多个使用相同代码的服务,所有共享的代码都在以下文件夹结构中:
* root
|-- * shared
- | -- * sharedA
| | -- src
| -
| -- * sharedB
- | -- src
-当我在开发中运行我的服务(从docker compose)时,我使用一个监视程序来监视shared/sharedA/src、shared/sharedB/src上的更改
我的docker组成文件看起来像这样
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我的目标是有卷声明
- ./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卷的文档并不是很有帮助,所以我想这里可能有人已经处理了类似的事情
发布于 2019-09-03 15:57:02
您可以使用命名卷:
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: bindhttps://stackoverflow.com/questions/57757415
复制相似问题