在目录中创建 docker 个卷

Create docker volume in directory

可以在我的目标目录中创建 docker 卷吗?

我无法在文档中找到它,我只是看到了一些安装点,但我想从我定义的目录中本地安装它。例如/data/docker/volume_name/

docker volume create不会让我那样做的。

我没有足够的声誉来评论或标记,但我认为你的问题已经在这里得到回答:

总之,看这部分

docker volume create --driver local \
  --opt type=none \
  --opt device=/home/user/test \
  --opt o=bind \
  test_vol

创建 docker 卷时没有开箱即用的选项来定义目录。 Docker 卷受到 docker 管理,并支持os 与 host 操作系统干预隔离。如果文件完全由您管理(host os),直接的答案是使用挂载目录。如果您要通过容器处理持久数据 generated/used,则使用 docker 卷。此建议来自 docker docs

但是,如果您坚持使用定义文件夹中的 docker 卷而不是默认的 docker 卷目录,那么 this stackexchange post 几个选项总结如下;

  1. 使用local-persist插件

sudo docker volume create -d local-persist -o mountpoint=/mnt/ --name=extra-addons

  1. 使用符号链接

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 文档上的建议非常清楚。如果文件由您管理,则使用装载的卷,或者如果文件由容器管理,则使用 docker 卷。