docker卷自定义装载点
我是Docker的新手,我一直在玩弄docker卷自定义装载点,docker,docker-compose,Docker,Docker Compose,我是Docker的新手,我一直在玩弄Docker卷。我想指定docker volume存储数据的位置。就像我们在执行docker run时提供-v选项一样Ex:-v/somefolder/:/var/somefolder 在创建docker卷时,如何设置自定义装入点。我在文档上找不到任何选项 当我检查音量时 [ {
Docker卷
。我想指定docker volume
存储数据的位置。就像我们在执行docker run
时提供-v
选项一样Ex:-v/somefolder/:/var/somefolder
在创建docker卷时,如何设置自定义装入点。我在文档上找不到任何选项
当我检查音量时
[
{
"Name": "sampleproject_mysql_data",
"Driver": "local",
"Mountpoint": "/mnt/sda1/var/lib/docker/volumes/sampleproject_mysql_data/_data",
"Labels": null,
"Scope": "local"
}
]
我得到了类似上面的东西
是否有一种方法可以设置自定义装入点。通过docker-volume
命令或通过docker-compose.yml
?如果您需要一个指向主机文件系统位置的命名卷(这有点像是在重新发明轮子,因为您可以进行主机装载,但似乎有很多人要求它),则有以下方法。这包括在Docker的报告中
更新:还可以使用默认的本地卷驱动程序将命名卷绑定装载到主机上的任何目录。这允许您利用主机卷中缺少的命名卷的自动初始化,但有一个缺点,即如果缺少主机目录,docker不会创建主机目录(相反,卷装载会失败)。以下是创建此命名卷的几种方法:
# create the volume in advance
$ docker volume create --driver local \
--opt type=none \
--opt device=/home/user/test \
--opt o=bind \
test_vol
# create on the fly with --mount
$ docker run -it --rm \
--mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=none,volume-opt=o=bind,volume-opt=device=/home/user/test \
foo
# inside a docker-compose file
...
volumes:
bind-test:
driver: local
driver_opts:
type: none
o: bind
device: /home/user/test
...
这正是我要找的。。我们可以在Windows上以任何方式启用此功能。说明有针对linux的,不适用于Windows的。您是否正在进行2016年测试版试用?否则,您正在VM中运行Linux。主机上文件夹的路径是--opt device吗?@Zuabi是的,是远程nfs服务器上的路径。