Where Does bootc Store Images and Deployments?
bootc stages fetched container images as deployments under /sysroot (ostree repo or composefs store) plus a dedicated image store.
Last updated
bootc maps container images to deployments on disk. The ostree backend keeps its repository at /sysroot/ostree/repo with deployments beneath it; the composefs backend instead splits state across /composefs (objects, images, streams) and /state/deploy per-deployment records.
The booted system sees the physical root read-only at /sysroot while / is a bind mount into the current deployment. Provisioning metadata lands at /sysroot/.bootc-aleph.json for auditing how the box was born.
Where bootc stores this, by platform
/sysroot/ostree/repo (ostree) or /composefs (composefs)
Deployments, image objects and per-deploy state (.origin files with image ref and digest). /usr/lib/bootc/storage symlinks the bound-image store. Treat /usr/etc as internal.
Frequently asked questions
Where is my previous deployment after an upgrade?
Look at /sysroot/ostree/deploy/ (or /composefs plus /state/deploy on composefs systems). Old deployments linger there until pruned, so previous roots stay browsable after upgrades.
Where are logically bound container images kept?
Follow /usr/lib/bootc/storage, which points into /sysroot. That dedicated containers/storage instance backs logically bound images, separate from the base boot image store.
Notice an outdated path? Let us know.