【问题标题】:Create docker volume in directory [duplicate]在目录中创建 docker 卷 [重复]
【发布时间】:2020-09-21 23:53:12
【问题描述】:

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

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

docker volume create 不允许我这样做。

【问题讨论】:

标签: docker docker-compose docker-volume


【解决方案1】:

我没有足够的声誉来评论或举报,但我认为您的问题已经在这里得到解答:Docker: change folder where to store docker volumes

总之看这部分top answer by BMitch

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

【讨论】:

    【解决方案2】:

    在创建 docker 卷时,没有开箱即用的选项来定义目录。 Docker 卷是 docker 管理的,并且应该与主机操作系统干预隔离。如果文件完全由您(主机操作系统)管理,则直接的答案是使用挂载目录。如果您正在处理容器生成/使用的持久数据,请使用 docker 卷。此建议来自docker docs

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

    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 docs 上的建议非常清楚,因为它可以得到。如果文件由您管理,则使用挂载卷,或者如果文件由容器管理,则使用 docker 卷。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-11
      • 2018-09-25
      • 1970-01-01
      • 2015-07-15
      • 2020-07-10
      相关资源
      最近更新 更多