Lazy-pulling using OverlayBD Snapshotter

June 11, 2026 ยท View on GitHub

:zap: Requirementnerdctl >= 0.15.0

OverlayBD is a remote container image format base on block-device which is an open-source implementation of paper "DADI: Block-Level Image Service for Agile and Elastic Application Deployment. USENIX ATC'20".

See https://github.com/containerd/accelerated-container-image to learn further information.

Enable lazy-pulling for nerdctl run

[proxy_plugins]
  [proxy_plugins.overlaybd]
    type = "snapshot"
    address = "/run/overlaybd-snapshotter/overlaybd.sock"

# Optional: Configure overlaybd for image unpacking (allows automatic snapshotter selection)
[[plugins."io.containerd.transfer.v1.local".unpack_config]]
  platform = "linux"
  snapshotter = "overlaybd"
  • Launch containerd and overlaybd-snapshotter

  • Run nerdctl with --snapshotter=overlaybd

nerdctl run --net host -it --rm --snapshotter=overlaybd registry.hub.docker.com/overlaybd/redis:6.2.1_obd

For more details about how to build overlaybd image, please refer to accelerated-container-image conversion tool.

Build OverlayBD image using nerdctl image convert

Nerdctl supports to convert an OCI image or docker format v2 image to OverlayBD image by using the nerdctl image convert command.

Before the conversion, you should have the overlaybd-snapshotter binary installed, which build from accelerated-container-image. You can run the command like nerdctl image convert --overlaybd --oci <source_image> <target_image> to convert the <source_image> to a OverlayBD image whose tag is <target_image>.

By default, nerdctl image convert --overlaybd uses a 64 GB virtual block device size. You can customize it with --overlaybd-vsize.