Nerdctl: CLI-инструмент, совместимый с Docker, для containerd
nerdctl - это мощная утилита командной строки, созданная для работы с containerd.
Она предлагае привычный Docker-подобный интерфейс с полной поддержкой таких функций, как Compose, rootless-режим, шифрование образов и не только.
Зачем нужен nerdctl
- Docker-интерфейс с движком containerd
Вы получаете привычные команды вроде docker build, run, compose, push и pull, но при этом работаете напрямую с containerd, а не с Docker Engine.
- Мост между Docker и Kubernetes
Поскольку Kubernetes постепенно отказывается от Docker Engine (dockershim), nerdctl закрывает этот пробел - с его помощью можно строить и управлять Docker-образами в окружениях на основе containerd.
- Современные и экспериментальные фичи
В nerdctl встроена поддержка новинок вроде ленивой загрузки (eStargz, OverlayBD), шифрования образов (ociCrypt), а также p2p-доставки через IPFS.
Основные возможности
CLI в стиле Docker и поддержка Compose
Работайте с привычными Docker-командами, включая nerdctl compose up для запуска мультиконтейнерных стеков.
Rootless-режим и UserNS-Remap
- Rootless-режим - запустите контейнеры без прав суперпользователя, используя вспомогательные скрипты вроде
containerd-rootless-setuptool.sh. - UserNS-Remap (с версии nerdctl 2.1) -
containerdзапускается с правами root, но сами контейнеры работают под переназначенными UID, что повышает безопасность без потерь в производительности.
Ленивая загрузка и p2p-дистрибуция образов
- Ленивая загрузка - контейнеры стартуют быстрее, потому что нужные слои образа подгружаются по мере надобности через snapshotter’ы вроде eStargz или Nydus.
- Интеграция с IPFS - отправляйте и загружайте образы через IPFS:
nerdctl push ipfs://...для децентрализованной доставки.
Шифрование и подпись образов
Шифруйте слои образов через OCIcrypt: nerdctl image encrypt, а затем запускайте зашифрованные образы напрямую. Также поддерживается подписание через cosign.
Продвинутый билдинг
Благодаря BuildKit можно использовать дополнительные флаги вроде --attest, --sbom, --provenance - всё это уже доступно в версиях nerdctl 2.x.
Примеры использования
Установка nerdctl
Можно скачать готовые бинарники nerdctl-full (для Linux x86_64/ARM64). В них уже есть всё необходимое: CNI, BuildKit и rootless-хелперы.
А если вы на macOS или Windows, то можно просто поставить Lima или Rancher Desktop - оба включают в себя containerd и nerdctl.
Запуск контейнеров
nerdctl run -it --rm alpine nerdctl build -t myapp .
Работа с Docker Compose
nerdctl compose up -d
Настройка rootless-режима
containerd-rootless-setuptool.sh install # As a regular user: nerdctl run -p 8080:80 nginx:alpine
Ленивая загрузка образов
nerdctl --snapshotter=stargz run --rm ghcr.io/stargz-containers/python:3.7-esgz python3 -c 'print("fast pull")'
Шифрование образов
nerdctl image encrypt --recipient=jwe:pub.pem foo foo:enc nerdctl run foo:enc
Что нового: основные фишки nerdctl v2.1
Выпущенный в июне 2025 года, nerdctl версии 2.1 привнёс несколько заметных улучшений:
- Поддержка режима UserNS-Remap - это вариант, который удачно сочетает безопасность и производительность.
- Экспериментальная песочница gomodjail - позволяет ограничить системные вызовы для отдельных Go-модулей, чтобы снизить риски в цепочке поставок.
Параллельно с этим containerd версии 2.1 получил поддержку файловой системы EROFS, возможность монтировать образы как тома в Kubernetes, а также запись в cgroupfs без root-доступа.

Podman популярен для запуска контейнеров в режиме rootless, но не очень подходит для Kubernetes, так как не поддерживает CRI. В то время как nerdctl полностью совместим с CRI, что делает его отличным выбором для Kubernetes-сред с containerd.
Когда стоит использовать nerdctl?
- Если вы хотите пользоваться инструментами в стиле Docker, но без Docker Engine.
- Если работаете в Kubernetes или K3s, где
containerd- это дефолтный рантайм. - Если вам важны rootless-запуск, ленивая загрузка, шифрование образов или дистрибуция через IPFS.
- Если цените современное управление контейнерами и образами с упором на безопасность цепочки поставок.
Советы и подводные камни
- Обязательно ставьте
nerdctl-full, если планируете использовать Compose, rootless-режим или BuildKit. - Для настройки rootless-режима используйте
containerd-rootless-setuptool.sh. Его может не быть в пакетных установках, например на NixOS. - При переходе между мажорными версиями (например, с 1.x на 2.x), лучше переустановить rootless-настройку (uninstall → install) и пересоздать конфиг.
Вывод
nerdctl - это must-have CLI для тех, кто заменяет Docker на containerd: всё привычно, функционал продвинутый, отлично интегрируется с Kubernetes.
Инструмент активно развивается, а свежий релиз версии 2.1 привнёс улучшения на уровне корпоративной безопасности - nerdctl вполне готов к корпоративной эксплуатации.