【发布时间】:2020-08-31 03:18:23
【问题描述】:
说明
官方的 Docker 文档通常不是很有用,而且很多时候即使阅读了它们的部分,事情仍然不清楚。
还有很多不清楚的地方,但是这个问题我只想针对这些:
运行docker volume create时:
--驱动程序 --选择设备 --选择类型
当我运行docker volume create --driver local --opt device=:/var/www/html/app --opt type=volume volumename 时,我确实得到了一个音量:
$docker volume inspect customvolume`
[
{
"CreatedAt": "2020-08-03T09:28:10Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/customvolume/_data",
"Name": "customvolume",
"Options": {
"device": ":/var/www/html/customfolder",
"type": "volume"
},
"Scope": "local"
}
]
尝试挂载这个新卷:
docker run --name test-with-volume \
--mount source=customvolume,target=/var/www/html/app77' \
my-app-only:latest
错误:
Error response from daemon: error while mounting
volume '/var/lib/docker/volumes/customvolume/_data': failed to
mount local volume: mount :/var/www/html/customfolder:/var/lib/docker/volumes/customvolume/_data: no such device.
问题
显然,这些选项允许您做一些意想不到的事情,我能够在自定义位置创建一个 volume 卷,但它不可挂载。
-
type的选项是什么(每个解释的区别):使用docker volume create时,我不清楚。docker run --mount文档讨论了volume, bind, tmp,但在docker volume create上,它们仅显示示例,即 tmpfs、btrfs、nfs。 -
什么时候可以使用
device?
我认为这可以用来为源主机上的卷类型(又名卷)创建一个自定义位置(类似于如何挂载绑定挂载) 我假设我可以使用“推荐的命名卷方式,包括自定义文件夹位置”而不是主机挂载(绑定挂载)。 -
最后,如何正确设置 docker-compose.yml 卷自定义驱动程序。
我认为混淆在于 docker run --mount 与 docker volume create 似乎不一致,因为 Docker 文档质量不清楚
【问题讨论】:
标签: docker docker-compose dockerfile