Ответ 1
Используется для:
- избегать дублирования полного набора файлов при каждом запуске образа в качестве нового контейнера.
- изолировать изменения в файловой системе контейнера на своем собственном уровне, позволяя перезапустить тот же контейнер из известного содержимого (так как слой с изменениями будет удален при удалении контейнера).
Это UnionFS:
реализует объединение монтирования для других файловых систем. Он позволяет прозрачно накладывать файлы и каталоги отдельных файловых систем, называемых ветвями, образуя единую согласованную файловую систему.
Содержимое каталогов, имеющих один и тот же путь в объединенных ветвях, будет отображаться вместе в одном объединенном каталоге в новой виртуальной файловой системе.Это позволяет файловой системе появляться как записываемый, но без фактического разрешения записи для изменения файловой системы, также известной как copy-on-write
Если у вас не было UnionFS, запуск изображения размером 200 МБ в 5 раз по мере того, как 5 разделяющих контейнеров означают 1 ГБ дискового пространства.
Подробнее в разделе Как работает изображение Docker?".
Более подробную информацию см. В следующих разделах: