Категория: Docker
Просмотров: 21
OverlayFS — это файловая система с наложением (union файловая система), которая позволяет объединять несколько слоев файловых систем в одну. В контейнеризации, особенно в Docker, OverlayFS используется для эффективного управления слоями файловых систем контейнеров. Это помогает минимизировать использование дискового пространства и увеличивает скорость запуска контейнеров.
OverlayFS объединяет два (или более) набора файловых систем (каталогов) — нижний слой (lower layer) и верхний слой (upper layer), создавая объединённый результат, который выглядит как единая файловая система. При этом каждая операция записи, изменения или удаления происходит только в верхнем слое, а нижний слой остаётся неизменным и доступным только для чтения.
Вот как OverlayFS работает с основными операциями:
Чтение: Когда файл запрашивается контейнером, OverlayFS сначала ищет его в верхнем слое. Если файл там не найден, система обращается к нижнему слою. Таким образом, контейнер может "видеть" файлы и из верхнего, и из нижнего слоёв.
Запись: Если контейнер изменяет или создаёт новый файл, эта операция происходит только в верхнем слое. При попытке изменить файл, который существует в нижнем слое, файл копируется из нижнего слоя в верхний слой (процесс называется копирование при записи, или copy-on-write), и изменение производится в копии в верхнем слое. Таким образом, нижний слой остаётся неизменным.
Удаление: Если контейнер удаляет файл, который находится в нижнем слое, в верхнем слое создаётся специальный маркер, обозначающий, что файл удалён. Этот маркер блокирует доступ к файлу из нижнего слоя.