gpt4 book ai didi

大文件写入时的 Docker 复制

转载 作者:行者123 更新时间:2023-12-01 06:49:56 26 4
gpt4 key购买 nike

我们正在将 docker 与大文件(数据库)一起使用,我们希望将这些文件存储为图像的一部分。
问题是当文件更改并且我们想要提交对图像的更改时。通常只有部分文件更改,我们希望 docker 只保存差异。

只要我们不提交更改,写时复制似乎可以在块级别上工作。
当我们执行 docker commit 时,commit 的大小是被改变的文件大小的总和。

我们正在使用:

存储驱动 : 设备映射器

池名称 : docker-thinpool

库版本 : 1.02.107-RHEL7 (2016-06-09)

是否有能够在块级别保存(docker commit)更改的存储驱动程序,换句话说,如果只有一小部分更改,则不会保存整个文件?

最佳答案

device mapper存储驱动程序在块级别工作,并且应该完全按照您的要求执行:

Updating existing data uses a copy-on-write operation. Because Device Mapper is a block-based technology these operations occur at the block level. For example, when making a small change to a large file in a container, the devicemapper storage driver does not copy the entire file. It only copies the blocks to be modified. Each block is 64KB.



如果您使用的是商业支持的 Docker 引擎, devicemappercompatibility matrix 中支持的 RHEL 和 CentOS 驱动程序,但后端在主线内核中,所以它应该在其他发行版上运行。

关于大文件写入时的 Docker 复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39996603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com