Skip to main content
Named volumes persist independently of sandboxes and are stored at ~/.microsandbox/volumes/.

msb volume create

msb volume create my-data
msb volume create my-data --size 10G
FlagDescription
--sizeStorage quota (e.g., 100M, 1G, 10G)
--fromInitialize from a path
-q, --quietOnly print the volume name

msb volume ls

msb volume ls
msb volume ls --format json

msb volume inspect

msb volume inspect my-data

msb volume rm

msb volume rm my-data
msb volume rm cache-1 cache-2   # Remove multiple
msb volume rm --force my-data   # Remove even if in use

Using volumes with sandboxes

Mount a named volume when creating or running a sandbox. The volume name goes before the colon, the guest path after.
# Create a volume, then mount it
msb volume create app-data --size 5G
msb run --name worker -v app-data:/data python:3.11

# Share between sandboxes
msb run --name writer -v shared:/data alpine -- sh -c "echo hello > /data/msg.txt"
msb run --name reader -v shared:/data alpine -- cat /data/msg.txt
The CLI distinguishes bind mounts from named volumes by looking for a / or . prefix. ./src:/app is a bind mount (host path). myvolume:/data is a named volume. This matches Docker’s convention.