如果我有一个目录 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,我宁愿希望有选项可以在容器内的特定路径上进行联合挂载,但如果是这样,我找不到它们。
一种(可能很明显的)解决方法是在容器中安装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
但它很丑陋,我希望有更好的选择。