数据专用码头集装箱的重点是什么?

时间:2016-12-12 17:40:37

标签: docker

我没有使用仅数据容器,而是......

  1. 在主机上创建目录(例如/ opt / shared_data)
  2. 使用-v / opt / shared_data运行每个容器:/ some / mount / point_inside / container
  3. 瞧,现在/ opt / shared_data在所有容器之间有效共享,对吗?

    如果我的理解是正确的,如果我创建一个仅数据的容器,然后使用" - volumes-from"当我运行其他容器时,我将它们挂在安装它们的同一位置,而这样我就可以选择在我的容器中安装它们的目录。

    那么为什么我需要"仅数据"容器?此外,卷只指向主机上的某个位置(/ var / lib / docker / volumes?),这在功能上等同于我的/ opt / shared_data吗?什么是前者的优势?

1 个答案:

答案 0 :(得分:1)

数据容器已被大量弃用,以支持命名卷。在命名卷上使用数据容器确实没有任何优势,并且包括卡在挂载点的缺点。

要将命名卷与主机卷(也就是绑定挂载)进行比较,您会有一些差异:

  • 主机卷包含权限问题,容器内的用户与容器外的用户不同,文件可能无法从两种环境轻松访问
  • 命名卷添加了使用任何卷驱动程序的功能,因此您可以从远程位置装载数据。
  • 命名卷初始化为该路径上图像的内容,包括所有文件和任何目录权限。

后一点对我来说很重要,这意味着您可以为图像中的数据文件夹创建初始默认值,但使用容器更新它并将这些更改保留在命名卷中。使用绑定挂载,如果目录为空或不存在,那么当您将其挂载到容器中时也会得到这些内容。