OCI images
microsandbox uses standard OCI container images as root filesystems. Docker Hub, GHCR, ECR, GCR, any OCI-compatible registry works. Existing images run as-is. When you specify an image likepython, microsandbox pulls the manifest, downloads the layers in parallel, and stacks them as a copy-on-write filesystem. Changes inside the sandbox don’t modify the base image. Two sandboxes using the same image share the same cached layers on disk.
Pull policies
By default, microsandbox pulls an image only if it isn’t already cached. You can change this behavior.Private registries
Authenticate to private registries by passing credentials.Registry TLS
By default, microsandbox connects to registries over HTTPS using system CA roots. You can customize this per-registry in~/.microsandbox/config.json.
Plain HTTP registries
Local registries often run without TLS. Mark them as insecure to connect over plain HTTP:Custom CA certificates
For registries using self-signed or internal CA certificates, pointca_certs to a PEM file. This applies globally to all registry connections:
caCerts in TypeScript, ca_certs in Rust, registry_ca_certs in Python, and WithRegistryCACerts / WithRegistryCACertsPath in Go.
Combined configuration
Image storage
Images are cached in the global microsandbox home directory:
Layers are content-addressable and deduplicated. If
python:3.12 and python:3.11 share a base layer, it’s stored once.
Use msb image prune to remove cached images that are not used by any sandbox or indexed snapshot and reclaim dangling image artifacts. Prune keeps images referenced by existing sandboxes or snapshots. It cleans up image metadata, unreachable manifests, orphaned layers, layer EROFS artifacts, fsmeta EROFS artifacts, and VMDK descriptor artifacts.
msb load accepts Docker image archives and OCI Image Layout archives. By default, msb save exports from the materialized EROFS cache as a Docker archive. Use --format oci to export as an OCI Image Layout archive instead. The expanded forms are msb image load and msb image save. The exported image should run the same way after msb load, but it is a regenerated archive: manifest digest and layer digests can differ from the original registry image.
Disk images
In addition to OCI container images, microsandbox can boot a sandbox directly from a disk image file. The guest gets raw block device access, and its kernel mounts the filesystem from the device directly. This is a fundamentally different path from OCI images. With OCI, microsandbox stacks image layers as a copy-on-write filesystem. With disk images, the guest owns the block device. No overlay, no copy-on-write between sandboxes. Use disk images when you need a pre-built VM template, a custom kernel configuration, or an OS that isn’t available as a container image.Supported formats
Usage
When you pass a file path ending in.qcow2, .raw, or .vmdk, microsandbox auto-detects the format. For disk-image roots, rename ambiguous files with one of those extensions and set the filesystem type when auto-detection needs a hint.
The filesystem type (
ext4, xfs, etc.) must match what’s actually on the disk image. The guest kernel mounts it using the specified filesystem driver.