问题标签 [unionfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1672 浏览

docker - 从主机检查 docker 容器 FS 更改

我已经启动了一个 docker 容器并修改了一个文件。稍后,我想从 docker 主机检查此更改。现在我docker cp用来导出文件,检查它,删除它。但是,如果我只想读取一个文件,这个多步复制-读取-删除过程似乎有点过头了。

有没有更好的方法来检查 docker 容器中的文件系统更改?

我需要比docker diff显示更多的信息。

0 投票
2 回答
7591 浏览

backup - docker commit 运行容器

使用 提交正在运行的容器时docker commit,这是否会创建文件系统的一致快照?

我正在考虑用这种方法来备份容器。您只需要将docker commit <container> <container>:<date>其推送到本地注册表即可。

备份将是增量的,因为提交只会创建一个新层。

大量的层也会严重损害容器的 io 性能吗?有没有办法在以后删除中间层?

编辑

所谓一致,我的意思是每个旨在在断电后幸存下来的应用程序都应该能够从这些快照中恢复。基本上这意味着在启动快照后没有文件必须更改。

同时我发现docker现在支持多种存储驱动(aufs、devicemapper、btrfs)。不幸的是,几乎没有任何关于它们之间的差异以及它们支持的选项的文档。

0 投票
0 回答
1067 浏览

linux - UnionFS: How to persist changes in the overlay/upperdir into the base/lowerdir filesystem?

Suppose to have the following scenario, on a linux system:

  • An ext4 data partition mounted as Read-Only: data_ro
  • An overlay partition: data_overlay
  • The two of them union-mounted using UnionFS: mount -t overlayfs -o lowerdir=data_ro,upperdir=data_overlay overlayfs data

At a certain point in time it is needed to persist the changes from data_overlay into data_ro (obviously data_ro will be remounted R/W in such case and then remounted back R/O).


How to persist changes in the overlay/upperdir into the base/lowerdir filesystem?

Is it coping/moving from overlay to the base FS enough, like in the following commands sequence?

0 投票
1 回答
625 浏览

linux - 如何在Linux上附加安装

我一直在尝试在 linux 中附加地挂载目录,但没有这样做。我有三个目录a,b和c。a 包含文件 x,b 包含文件 y,c 包含文件 z。现在,当我将“a”和“b”安装到 c 中然后打开 c 时,“c”中只存在 x 和 y。当我将 a、b 和 c 挂载到 c 中时,目录 c 是空的,并且 ls 说权限被拒绝。即使使用 sudo,我也无法卸载 c。我想要做的是在其中一个中安装 ab 和 c 并能够同时看到 xy 和 z。是否有可能或是否有解决此问题的方法,请告诉我。

0 投票
0 回答
54 浏览

git - 如何将一个项目中的特定文件夹覆盖到其他项目的同一文件夹中

我有一个用例,其中项目 A、B 和 C 都使用具有自以为是的目录布局的第三方工具。每个项目在同一布局中都有一些重复的文件以及它们自己的自定义文件。

为了允许代码重用,我想将重复的文件放入单独的项目 D 中,但这些共享文件在 A、B 和 C 中使用的布局中仍然可见。我已经研究了通过联合文件系统 docker 实现这一点的方法和包/程序化手段,但这些选项中的每一个都有不必要的限制。

目前我正在研究使用 GIT 来实现这一点,我想听听一些关于如何做到这一点的建议。

使用 D 作为上游存储库几乎是我所需要的,因为它会在发生提取和合并时将 D 中的文件合并到 A、B 和 C 中的位置。不幸的是,如果 D 中的其他文件发生更改,并且 A、B 或 C 中的其他文件也发生了更改,则会出现合并冲突。有谁知道如何从上游而不是主存储库本质上进行“稀疏检出”?我已经尝试破解 .git/config 文件以将其添加到远程“上游”部分,但无济于事。还有其他想法可以实现相同的目标吗?

0 投票
1 回答
1373 浏览

docker - Union 挂载到 Docker 容器中

如果我有一个目录 d1/,我知道我可以通过执行以下操作将它挂载到 Docker 容器内的 /mountPoint:

但是,我有两个目录 d1/ 和 d2/ (假设它们分别包含文件 a.txt 和 b.txt)。

我想将这两个目录的联合挂载在我的容器中的 /mountPoint,即我希望 /mountPoint/a.txt 和 /mountPoint/b.txt 存在。

鉴于 Docker 在内部大量使用 UnionFS,我更希望有一些选项可以在容器内的特定路径上进行联合挂载,但如果是这样,我找不到它们。

0 投票
1 回答
351 浏览

linux - 在 Docker 内部进行基准测试时消除 UnionFS 对结果的影响

我正在尝试使用在基于 fedora:23 映像的容器中运行的 Phoronix 测试套件 6.4.0 Milestone 2 对运行 Docker 的整体系统性能进行基准测试。

必须考虑的一件事是,Docker 使用专有的 UnionFS 来存储数据。但是,当在 Docker 中运行真实世界的应用程序(如 Apache)时,持久性数据通常存储在主机上的专用文件夹中,在标准 Linux 文件系统(如 ext4 或在我的情况下为 btrfs)上运行。

我提出的解决方案是使用“ docker volume ”将主机目录挂载到docker中。问题是我不知道要在基准测试中使用哪些目录并且必须安装在 Docker 容器中。

例如,测试套件pts/disk绝对应该使用 docker 卷而不是 UnionFS。它包含这些测试。

应该从主机挂载 Docker 容器中的哪些目录(制作 docker 卷)?使用 docker 卷甚至是一个好主意吗?在对 Docker 进行基准测试时,还有其他需要考虑的注意事项吗?

0 投票
0 回答
595 浏览

ubuntu - Overlayfs 是否支持上层为 nfs 导出?

overlayfs 是否支持将上层作为 nfs 挂载点?我可以将下层作为 nfs 挂载点,但不是上层?任何可能的解决方法?

内核版本 -> 4.4.0-21-generic

Ubuntu 16.04

0 投票
2 回答
1724 浏览

docker - Docker 如何保持镜像不可变

从 Docker 文档:

Docker 映像是只读的。当 Docker 从镜像运行容器时,它会在运行应用程序的镜像之上添加一个读写层(使用 UnionFS)。

如何跨层协调变化?如果我更改文件的内容,Docker 会只跟踪增量还是将更改的文件存储在新层中?

我在 superuser上查看了这个讨论,但仍然不确定最终的图像结构。

0 投票
1 回答
139 浏览

docker - 文件触摸是否在 docker 容器层中创建副本?

在 docker 容器中仅更改文件时间戳(即触摸)怎么样?UFS(或使用的 varianet)会在 docker 容器层中创建文件副本,还是能够更有效地处理这种情况?

寻找有关 docker 上下文中文件触摸影响的精确信息,以及如何最好地管理此场景以减少层上的累积文件存储大小占用。