Union монтируется в контейнеры Docker

Если у меня есть каталог d1/, я знаю, что могу смонтировать его в /mountPoint внутри контейнера Docker, выполнив это:

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

Однако у меня есть две директории d1 / и d2 / (скажем, они содержат файлы a.txt и b.txt соответственно).

Я хочу смонтировать объединение этих двух каталогов в /mountPoint в моем контейнере, т.е. я хочу, чтобы /mountPoint/a.txt и /mountPoint/b.txt существовали.

Учитывая, что Docker часто использует UnionFS внутри себя, я скорее надеюсь, что есть варианты для монтирования объединения по определенному пути внутри контейнера, но я не могу найти их, если так.

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

Но это некрасиво, и я надеюсь, что есть лучший вариант.

Другие вопросы по тегам