Sandbox.create(snapshot_id=...) call starts a fresh
independent sandbox from the same snapshot, and the snapshot remains available
until deleted.
Create a reusable snapshot
Spawn from the snapshot
Manage reusable snapshots
Pause, snapshot, or fork
| Primitive | Source sandbox | Reuse model | Restore call |
|---|---|---|---|
| Hibernate / pause | Stops the source VM | 1-to-1 persistence | Sandbox.resume(snapshot_id) or Sandbox.connect(original_id) |
| Reusable snapshot | Briefly pauses, then keeps source running | 1-to-many durable template | Sandbox.create(snapshot_id=snapshot_id) |
| Fork | Keeps source running | 1 live child per request | sandbox.fork() |
Behavior
- Snapshots include VM memory and mutable rootfs state.
- Shared volumes remain external durable storage and are remounted on compatible restore; they are not copied into the snapshot.
- Restore requires compatible runtime hosts, kernels, and snapshot artifacts. A
paused sandbox alias can resume only from its own latest snapshot lineage;
reusable snapshots are restored with
Sandbox.create(snapshot_id=...)and do not mutate the source sandbox. - Delete removes reusable snapshot metadata and makes its artifact eligible for cleanup when no active reusable snapshot references it.