gpt4 book ai didi

docker - `native overlay diff`在overlay2存储驱动程序中意味着什么?

转载 作者:行者123 更新时间:2023-12-02 00:49:48 24 4
gpt4 key购买 nike

我经历过与正在运行的容器关联的图像的较低层(diff)被删除。 (因此,容器中的一些文件被删除)

我认为 docker info 中的“Native Overlay Diff”选项非常可疑。

我的docker信息如下:

$ docker info
...
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: false
...

你们知道“Native Overlay Diff”的确切含义吗?

最佳答案

这似乎与OVERLAY_FS_REDIRECT_DIR内核选项有关,该选项在Kconfig中进行了描述。如:

config OVERLAY_FS_REDIRECT_DIR
bool "Overlayfs: turn on redirect dir feature by default"
depends on OVERLAY_FS
help

If this config option is enabled then overlay filesystems will use redirects when renaming directories by default. In this case it is still possible to turn off redirects globally with the "redirect_dir=off" module option or on a filesystem instance basis with the "redirect_dir=off" mount option.

Note, that redirects are not backward compatible. That is, mounting an overlay which has redirects on a kernel that doesn't support this feature will have unexpected results.

If unsure, say N.

关于moby问题的一些讨论3434234320表示如果满足以下所有条件:

  1. OVERLAY_FS_REDIRECT_DIR 内核选项已启用
  2. 存储引擎是overlay2(大多数情况下是默认引擎)
  3. docker 正在将镜像存储在未使用 redirect_dir=off 挂载的文件系统上
  4. 使用“ native ”差异驱动程序
  5. 非空目录被重命名为 docker 构建的一部分,例如在 Dockerfile 中,如下所示:

    FROM busybox

    RUN mkdir /dir1
    RUN touch /dir1/newfile
    RUN mv /dir1 /dir2

然后生成的镜像将无法正确记录重命名目录的内容(即 dir2 将不包含 newfile),因为目录重命名是使用扩展文件属性 (xattr) 实现的重定向,而 Docker 无法理解该属性归档过程。为了解决这个问题,当满足上述前三个条件时,docker将使用“naive”diff驱动程序,它可以生成正确的图像,但比“native”diff驱动程序慢。

忽略警告似乎是安全的,但如果您发现构建速度缓慢,那么您可以尝试使用选项 redirect_dir= 重新挂载服务 /var/lib/docker 的卷关闭

关于docker - `native overlay diff`在overlay2存储驱动程序中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46787983/

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