【发布时间】:2017-11-01 05:47:56
【问题描述】:
我正在使用 docker-compose 和 v3。我正在尝试在 docker 中挂载一个卷:
./appdata:/appdata
我想将此作为一个卷,然后从多个容器中引用该卷。 volume configuration reference 仅将data-volume: 显示为命名卷,没有任何值,因此看起来不像上面那样。
services:
nginx:
build: ./nginx/
ports:
- 80:80
links:
- php
volumes:
- app-volume
php:
build: ./php/
expose:
- 9000
volumes:
- app-volume
volumes:
app-volume: ./appdata:/appdata
这给了我:
错误:在文件 './docker-compose.yml' 中,卷 'app-volume' 必须是映射而不是字符串。
显然我知道我需要更改 volumes 键/值对,但我不确定如何更改它以便我可以在服务之间共享卷。
我还检查了volumes_from,但这实际上只允许从其他容器继承。我见过有人在另一个包含他们想要的映射的容器上使用volumes_from,但设置了command: true,这样容器就永远不会真正运行,这对我来说就像是一个hack。
我该怎么做?
注意,我确实有以下工作:
nginx:
volumes:
- ./appdata:/appdata
php:
volumes:
- ./appdata:/appdata
但这只是重复,我希望命名卷可以帮助我避免:-)
【问题讨论】:
-
你可以在这个答案中找到答案:stackoverflow.com/a/49920624
标签: docker docker-compose