我正在使用docker-compose和v3版本。我试图在Docker中挂载卷:
./appdata:/appdata
我想将其作为一个卷,并从多个容器中引用该卷。 卷配置参考 仅显示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
的键/值对,但我不确定如何更改它,以便我可以在服务之间共享一个volume。
我也查看了volumes_from
,但这实际上只允许从其他容器继承。我看到有人在另一个包含他们想要的mapping的容器上使用volumes_from
,但设置了command:true
,这样该容器就永远不会被运行,对我来说似乎只是一种hack。
我该怎么做?
请注意,以下内容是有效的:
nginx:
volumes:
- ./appdata:/appdata
php:
volumes:
- ./appdata:/appdata
但这只是重复,我希望命名卷能帮助我避免这种情况 :-)