6

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

docker run -v /path/to/d1:/mountPoint ...

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

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

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

4

1 回答 1

1

一种(可能很明显)解决方法是unionfs在容器中安装,然后将所有必需的分区与它统一起来:

docker run -v /path/to/d1:/mnt/d1 -v /path/to/d2:/mnt/d2
# and within docker container:
mkdir -p /mnt/joined
unionfs /mnt/d1=RO:/mnt/d2=RW /mnt/joined

但这很丑,我希望有更好的选择。

于 2018-06-19T20:39:09.027 回答