首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头-卷与挂载绑定。用例是什么?

码头-卷与挂载绑定。用例是什么?
EN

Server Fault用户
提问于 2019-12-26 11:23:37
回答 1查看 25.8K关注 0票数 29

在阅读和玩了一会儿码头后,我正在考虑在我的生产环境中使用它。然而,我仍然试图理解挂载绑定和卷之间的区别。

根据码头工人关于挂载绑定(https://docs.docker.com/storage/bind-mounts/)的文档:

绑定坐骑从码头早期就已经存在了。与卷相比,绑定挂载的功能有限。使用绑定挂载时,主机上的文件或目录将被安装到容器中。文件或目录由主机上的完整路径或相对路径引用。相反,当您使用卷时,将在主机上的Docker存储目录中创建一个新目录,Docker管理该目录的内容。

在我看来,挂载绑定和卷是一回事,唯一的区别就是数据的位置。(卷存储在docker的“私有”存储区域,而挂载绑定可以存储在任何地方)。是的,挂载绑定必须在启动对接容器之前存在,而容量可以在容器启动时由码头引擎创建--但这种差异是不敬的性能或维护方面的差异。

我无法理解文档(https://docs.docker.com/storage/volumes/)所陈述的卷的好处,因为它们似乎都同样适用于挂载绑定。

谁能解释一下卷和挂载绑定(性能和维护方面)之间的主要区别,最重要的是它们的用例?

谢谢你的帮助。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-12-26 15:50:16

默认情况下,本地命名卷与您所描述的完全相同,即绑定挂载到特定的停靠目录。我看到的不同之处:

  • 首先,最大的区别是命名卷和主机卷(也称为绑定挂载)之间的行为差异。Docker将根据图像的内容初始化指定的卷。这包括文件所有者和权限。这意味着您可以避免担心主机卷通常遇到的权限问题。
  • 第二,便携性。命名卷可以从不同的docker主机中使用,而无需担心本地文件系统路径或运行命令的用户。无论是在MacOS笔记本电脑上,还是在生产中的Linux服务器上,您都可以简单地命名一个卷,并假设它将作为默认坞安装的一部分工作。
  • 第三,它们是如何管理的。主机卷通常是在docker之外管理的,这是权限问题经常起作用的地方(因为主机上的UID/GID通常与容器中的UID/GID不匹配)。使用指定的卷,您可以从另一个坞容器中管理它们,在这个容器中,您可以控制安装了哪些工具、用户创建了什么等等。

与命名卷还有另一个很大的区别。这是因为我在上面说了“默认情况下”,并且可以通过多种方式配置指定的卷。卷驱动程序可以更改为另一个云感知驱动程序。或者,您可以将选项传递给本地卷驱动程序,以便将本地绑定挂载更改为特定目录,并将其更改为您可以通过安装syscall完成的任何操作。这包括对另一个目录执行绑定挂载,NFS挂载,您甚至可以创建自己的覆盖文件系统作为卷,允许容器访问和修改容器中的某些数据,而无需更改底层的底层文件。

通过使用命名卷,还可以将存储管理与容器管理分开。您只需指向名称,外部工具就可以创建该卷以指向该环境中的适当位置。

我在本地卷驱动程序中使用的一些命名卷示例包括:

代码语言:javascript
复制
# named bind mount
$ docker volume create --driver local \
      --opt type=none \
      --opt device=/home/user/test \
      --opt o=bind \
      test_vol

# nfs
$ docker volume create --driver local \
      --opt type=nfs \
      --opt o=nfsvers=4,addr=nfs.example.com,rw \
      --opt device=:/path/to/dir \
      foo

# overlay
$ docker volume create --driver local --opt type=overlay \
    --opt o=lowerdir=${PWD}/ro-data,upperdir=${PWD}/upper1,workdir=${PWD}/work1 \
    --opt device=overlay overlay1
票数 24
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/996785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档