Плагины томов & сетей

Тема дорожной карты · Docker & Containers

Плагины Docker расширяют движок сторонними реализациями драйверов томов (NFS, GlusterFS, S3-совместимое хранилище) и сетевых драйверов (Calico, Weave, Cilium). Управление: docker plugin install, docker plugin enable/disable/ls/rm. Volume-плагины позволяют монтировать удалённое хранилище как локальное; network-плагины — заменить стандартный сетевой стек. Большинству команд хватает Compose плюс встроенных bridge/overlay, но для кластерного хранилища и продвинутого multi-tenant networking плагины — то самое решение. Учтите: зрелость конкретных плагинов сильно различается.

Как это работает

Плагины томов & сетей — это namespaces (mount, network, PID, IPC, UTS, user, cgroup) + cgroups (cpu, memory, io, pids, devices) + container-aware ФС (overlay2, btrfs, zfs). Daemon Docker (dockerd) общается с low-level runtime (containerdrunc), который и делает clone() с правильными флагами. Образы хранятся как content-addressed tar-слои; docker save/load экспортит/импортит; daemon собирает rootfs стекуя слои через overlayfs.

Когда применять

Внутренности важны когда (а) дебажите "почему контейнер видит X", (б) выбираете storage driver (overlay2 — дефолт и почти всегда правильный), (в) оцениваете альтернативные runtime (Podman, containerd, CRI-O для Kubernetes), (г) строите что-то поверх Docker (CI-builder, sandboxing-тул). Прочтите docker info, runc spec, OCI image format spec хотя бы раз.

Типичные ошибки

Ловушки Плагины томов & сетей: выбор storage driver по старому блог-посту (overlay2 — ответ в 99% случаев); путаница Docker как компании с OCI-стандартом, который все теперь реализуют (docker pull работает с любым OCI registry); предположение, что Docker Desktop на macOS ведёт себя как Engine на Linux (нет — между ними VM с другими I/O perf и сетью). strace -f и lsns — для дебага runtime-мистики.

Связанные понятия

Полезные ресурсы