# Docker — Storage drivers (one-screen)

## 1) Контейнерный слой (container layer)
При запуске контейнера появляется **записываемый слой** (container layer) поверх read-only слоёв image. Все изменения файлов внутри контейнера попадают туда.

## 2) Зачем нужны storage drivers
Docker управляет слоями образов и container layer через **storage driver**.

## 3) Типы хранилищ (в общих чертах)
- **Block level**: данные блоками фиксированного размера; быстрый доступ.
  Примеры: ZFS, DeviceMapper.
- **File level**: иерархия директорий; доступ по пути; самый распространённый.
  Примеры: AUFS, Overlay, **Overlay2** (дефолт Docker).
- **Object level**: данные как объекты + метаданные; доступ через API; обычно “перезапись целиком”.

## 4) Практика
- В Docker по умолчанию используется **overlay2**.
- Меняется в `/etc/docker/daemon.json`.
- Важно: storage driver требует **совместимую backing filesystem** — ту ФС, где лежит `/var/lib/docker`.

---
**Source:** [[Storage Drivers - Docker|Storage Drivers - Docker]]
