“与命名卷不同,绑定安装不会自动将容器内容复制到主机”

2024-01-01

需要澄清评论here https://stackoverflow.com/questions/36387032/how-to-set-a-path-on-host-for-a-named-volume-in-docker-compose-yml#comment88705036_49920624:

绑定安装的唯一“问题”是它不会复制 与命名卷不同,容器内容会自动发送到主机。 docs.docker.com/compose/compose-file/#volumes

这准确吗?如果是,那么:

  1. 当使用容器时,如何将容器的“新数据”(例如不断增长的数据库)传输到主机中bind mount(在容器重新启动时保留数据)?
  2. Docker 是如何在容器重启后持久保存数据的?named volumes?

绑定安装的唯一“问题”是它不会复制 与命名卷不同,容器内容会自动发送到主机。

这准确吗?

接近准确,但我可以看到其中的混乱。主机卷(又名绑定挂载)没有 docker 的初始化功能。对于匿名卷和命名卷,docker 将使用该路径中映像的内容来初始化卷。此初始化包括所有权和权限,这有助于避免权限错误。此初始化仅在创建容器且卷为新卷或空卷时运行,因此后续容器不会拾取对较新映像版本中的映像所做的更改。

如果是,那么:

  1. 当使用绑定挂载(以持久化数据)时,如何将容器的“新数据”(例如不断增长的数据库)获取到主机中 如果容器重新启动)?

从容器中的应用程序读取和写入的操作将继续按预期传输到绑定挂载中使用的主机文件系统。只是初始化步骤没有运行。

  1. 在命名卷出现之前,Docker 如何在容器重启时保留数据?

曾经有数据容器,从其他容器挂载卷,但这种方式不灵活(所有卷路径都固定到数据容器中的路径),并且持久数据与临时容器混合管理,因此已被逐步淘汰。

卷用于处理容器之间的数据持久性。单个容器重新启动(而不是被替换)仍将具有所有容器特定的文件系统更改。这docker rm命令删除这些文件系统更改以及容器日志和容器的元数据/配置。

容器特定的更改是 docker 使用的覆盖文件系统的读/写顶层​​。卷挂载都是单独挂载到该覆盖文件系统的子目录中(就像/home or /var通常是单独的文件系统挂载/Linux 主机的文件系统,对这些其他路径的所有读取和写入都会转到单独的底层文件系统)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“与命名卷不同,绑定安装不会自动将容器内容复制到主机” 的相关文章

随机推荐

  • 未为 DI/IoC 设置 StructureMap 和对象

    我有一种情况 我创建了一个工厂方法来创建一个对象 但是 该对象具有需要在创建对象之前执行的样板代码 修复这部分设计超出了这个问题的范围 此外 当创建对象时 屏幕上的状态显示也会更新 这要求在创建此对象之前先实例化此状态显示并使其可见 并且应
  • R自参考

    在 R 中 我发现自己经常做这样的事情 adataframe adataframe col something lt adataframe adataframe col something 1 这种方式有点漫长而且乏味 有什么办法适合我吗引
  • 在 tizen studio 中使用证书配置文件签署应用程序包

    如何在 Tizen studio 中使用证书配置文件签署应用程序包 This https developer tizen org development tizen studio web tools managing projects ce
  • 支持 ASP.NET MVC 2.0 的嵌套模型和类验证

    我正在尝试使用 System ComponentModel DataAnnotations 属性来验证包含具有验证规则的其他对象的模型 希望默认的 MVC 实现就足够了 var obj js Deserialize json objectI
  • “简单来说”SOA 是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • 在group_by操作之后,dplyr如何为每个组生成数据帧?

    dplyr 包在流式数据处理方面的流畅性让我感到非常震惊 最近我急于解决一个问题 为每个组ID生成一个新的数据帧 并将这些小数据帧组合成最终的更大的数据帧 一个玩具示例 input data frame gt group by gid gt
  • 如何重构多个相似的 Linq-To-Sql 查询?

    假设我有以下两个要重构的 Linq To SQL 查询 var someValue1 0 var someValue2 0 var query1 db TableAs Where a gt a TableBs Count gt someVa
  • 使用 with() 与调用向量相比有哪些优点?

    我很好奇使用是否有任何优点with 而不是调用矢量名称 除了使用更少的击键之外 例如 是with d x1 总是等价于d x1 where d is structure list x1 c 1 96300839219158 1 779947
  • 有人知道如何在 Android 中使用 PagerTitleStrip

    我决定使用一个ViewPager在我的应用程序中 一切正常 我知道我想使用PagerTitleStrip in my ViewPager 但我没有找到任何有关如何做到这一点的信息 我在这门课上发现的唯一一页 原文如此 是http devel
  • 重新排列列表中的项目,使得没有两个相邻项目是相同的[重复]

    这个问题在这里已经有答案了 我们怎样才能最有效地做到这一点 给定一个包含重复项目的列表 任务是重新排列列表中的项目 以便没有两个相邻项目是相同的 Input 1 1 1 2 3 Output 1 2 1 3 1 Input 1 1 1 2
  • Seaborn tsplot 不能很好地在 x 轴上显示日期时间

    下面我有以下脚本 它创建了一个简单的时间序列图 matplotlib inline import datetime import pandas as pd import seaborn as sns import matplotlib py
  • 如何从 Pharo 中的调试器复制堆栈跟踪?

    如何从 Pharo 中的调试器复制堆栈跟踪 我知道图像附近有 Debug log 文件 但我太懒了 无法从 Pharo 导航到文件系统 找到文件夹 并浏览一个巨大的文本文件 如果前面有堆栈跟踪 我的 我知道一个方法 但不是最好的 当您在调试
  • 编译器可以优化对常量参数的引用到常量值吗?

    考虑以下功能 void func const char input do something 显然 参数为常量值是有意义的 而不是 关于 char 类型大小的常量引用 现在编译器可以将其优化为常量 值 以便它与以下相同 void func
  • 在 C++ 中向 Float/Double 类型添加 0

    我听说像 0 1 0 2 这样的浮点运算可能会由于内部使用二进制浮点而产生像 0 30000000000000004 这样的舍入误差 但是 如果我在 C 中向任何浮点数添加 0 是否能保证产生相同的值而没有任何舍入误差 我不知道浮点运算是如
  • 轻量级、便携式 C++ 光纤,MIT 许可证

    我想获得一个具有 MIT 许可证 或更宽松 的轻量级 便携式光纤库 Boost Coroutine 不符合资格 不是轻量级 Portable Coroutine Library 和 Kent C CSP 均为 GPL 也不符合资格 编辑 你
  • tkinter 使用主窗口调整框架和内容的大小

    我正在尝试弄清楚如何控制包含框架的窗口的大小调整 在代码中 我在顶部有三个按钮 它们应该保持在原来的位置 当我拖动窗口将其展开时 我希望框架及其包含的文本框随主窗口一起展开 我读过columnconfigure and rowconfigu
  • 根据覆盖率报告删除未使用的 JavaScript 代码

    有一个很大的 javascript 库 约 40 000 行代码 和一个使用少于50 图书馆的代码 有一个测试利用库中的所有所需功能并可以生成覆盖率报告 如何以编程方式删除依赖于测试的每行未使用的代码 Note 覆盖率报告包含已执行的行的索
  • React Native Expo 更改默认 LAN IP

    我已经安装了虚拟盒子 当我查看主机 gt LAN gt ip地址时 是exp 192 168 56 1 19000 如何在不禁用网络的情况下更改它 因为这是我的 virtualbox IP 而我的设备无法连接到它 Thanks 您可以指定R
  • 在 WooCommerce 我的帐户上添加付款订单按钮查看待处理订单的订单

    当订单状态为时如何创建 为此订单付款 按钮pending查看订单时显示在我的帐户页面上 链接结构如下 https url com checkout order pay XXXXX pay for order true key wc orde
  • “与命名卷不同,绑定安装不会自动将容器内容复制到主机”

    需要澄清评论here https stackoverflow com questions 36387032 how to set a path on host for a named volume in docker compose yml