【发布时间】:2017-03-22 19:43:20
【问题描述】:
我需要让命名卷使用执行docker-compose 命令的文件夹的相对路径。
这是 docker-compose.yml 中的卷定义
volumes:
esdata1:
driver: local
driver_opts:
type: none
device: ./esdata1
o: bind
似乎是docker-compose do not create the folder if it does not exist,但即使在启动 docker 之前创建了文件夹,我总是会收到此错误:
ERROR: for esdata Cannot create container for service esdata: error while mounting volume with options: type='none' device='./esdata1' o='bind': no such file or directory
注意:这可能很愚蠢,但esdata 是使用命名卷的服务
esdata:
...
volumes:
- esdata1:/usr/share/elasticsearch/data
...
我在这里缺少什么?
也许./ 的相对路径没有指向执行docker-compose 的文件夹(我尝试使用~/ 使用相对于用户家的文件夹,但我得到了同样的错误)。
提前致谢,
PS:如果我使用绝对路径,它就像一个魅力
【问题讨论】:
-
你试过sudo吗? sudo docker-comose ?
-
我刚试过。没有什么。您能分享一下为什么
sudo可能会有所帮助吗? -
好吧...也许是权限问题...特别是如果是 MacOs
-
在服务定义中没有使用相对路径而不是命名卷是否有原因?
-
仅在多个服务上重复使用该卷。
标签: docker docker-compose