1.4 KiB
1.4 KiB
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