下面的示例创建名为volume的dbdata,并在db服务中对其进行引用:
version: '2'
services:
db:
image: mysql
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
driver: local
(来自https://stackoverflow.com/a/35675553/4291814)
我可以看到该卷的默认路径为:
/var/lib/docker/volumes/<project_name>_dbdata
我的问题是如何在主机上为
dbdata
卷配置路径? 最佳答案
随local
卷驱动程序,它可以使用任意安装;通过使用bind mount,您可以完全实现此目的。
为了设置一个命名卷装入/srv/db-data
,您的docker-compose.yml
如下所示:
version: '2'
services:
db:
image: mysql
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/srv/db-data'
我尚未使用撰写文件格式的版本2对其进行测试,但是https://docs.docker.com/compose/compose-file/compose-versioning/#version-2并未表明它不起作用。
我也没有在Windows上测试过...