【问题标题】:Create docker volume in directory [duplicate]在目录中创建 docker 卷 [重复]
【发布时间】:2020-09-21 23:53:12
【问题描述】:
可以在我的目标目录中创建 docker 卷吗?
我无法在文档中找到它,我只看到了一些挂载点,但我想从我定义的目录中将其挂载到本地。例如/data/docker/volume_name/
docker volume create 不允许我这样做。
【问题讨论】:
-
-
您应该使用bind mount 代替;配置命名卷来支持这种情况并没有真正的特殊优势。链接问题的最佳答案包含更多详细信息。
标签:
docker
docker-compose
docker-volume
【解决方案2】:
在创建 docker 卷时,没有开箱即用的选项来定义目录。 Docker 卷是 docker 管理的,并且应该与主机操作系统干预隔离。如果文件完全由您(主机操作系统)管理,则直接的答案是使用挂载目录。如果您正在处理容器生成/使用的持久数据,请使用 docker 卷。此建议来自docker docs
但是,如果您坚持使用定义文件夹中的 docker 卷而不是默认 docker 卷目录,那么 thisstackexchange 发布下面总结的几个选项;
- 使用local-persist插件
sudo docker volume create -d local-persist -o mountpoint=/mnt/ --name=extra-addons
- 使用符号链接
docker volume create test
mkdir /mnt/test
sudo rm -rf /var/lib/docker/volumes/<volume>/_data
sudo ln -s /mnt/<myVolume> /var/lib/docker/volumes/<volume>/_data
我个人不会打扰他们中的任何一个。 docker docs 上的建议非常清楚,因为它可以得到。如果文件由您管理,则使用挂载卷,或者如果文件由容器管理,则使用 docker 卷。