【问题标题】:How to store a specific named docker volume at a specific location without changing the default?如何在不更改默认值的情况下将特定命名的 docker 卷存储在特定位置?
【发布时间】:2018-05-26 20:40:09
【问题描述】:

我想为我的一个容器创建一个命名卷。

这个容器比我运行的其他容器需要更多的存储空间,所以我想将该特定卷存储在具有大量可用空间的不同磁盘上。

我仍然希望默认磁盘上的其他卷,只有一个命名卷应该放在另一个磁盘上。

我不想使用绑定挂载,因为它会使备份和迁移变得更加复杂。

我能想到的唯一选择是在创建卷后(在容器停止时)手动移动卷,并从其在/var/lib/docker/... 的原始位置创建一个符号链接到另一个硬盘驱动器上的新位置。不过,这是非常手动的,这让我认为一定有更好的方法。

实现这一目标的推荐方法是什么?

【问题讨论】:

标签: docker docker-compose docker-volume


【解决方案1】:

使用本地卷驱动:

docker volume create -d local -o type=none -o o=bind -o device=/host/path volname

(取自this github comment

【讨论】:

  • 它是使用bind 类型的挂载,还是volume 类型的挂载?和docker run -v /host/path:/mypath ...有区别吗?
  • 从技术上讲,所有卷都是绑定挂载。这是一个使用本地驱动程序的命名卷,它允许您指定任何可能的挂载类型,包括 bind mounts 这似乎是您所需要的,因为您想要一个命名卷,而不是绑定挂载/主机挂载您在 -v 参数上指定主机位置的位置。
猜你喜欢
  • 2021-03-28
  • 1970-01-01
  • 2011-10-03
  • 2015-01-24
  • 2017-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-06
相关资源
最近更新 更多