Linux

Where Does Podman Store Images and Config?

Podman stores images and containers under a graphroot that differs for rootless and root use. Storage paths, config files, and logs.

Last updated

Podman splits its on-disk state in two directions: image and container storage (the graphroot) and configuration (containers.conf and friends). Rootless Podman, the normal way to run it, keeps storage in your home directory under .local/share/containers/storage. System-wide rootful use keeps it under /var/lib/containers/storage instead.

Config follows the usual precedence ladder: built-in defaults, then /usr/share/containers, then /etc/containers, then your own ~/.config/containers on top. On macOS and Windows everything engine-side runs inside the Podman machine VM, so these Linux paths still apply, just one ssh hop away. podman info prints the effective paths and settles arguments fast.

Where Podman stores this, by platform

Linux
~/.local/share/containers/storage

Rootless storage (normal use) lives under ~/.local/share/containers/storage; rootful storage under /var/lib/containers/storage. Per-user config at ~/.config/containers/containers.conf overrides /etc/containers/containers.conf. Auth from podman login lands in $XDG_RUNTIME_DIR/containers/auth.json. Run podman info to confirm the effective graphRoot.

Frequently asked questions

how do i check where podman stores my containers

Run podman info and read graphRoot, runRoot and volumePath. That beats memorizing defaults because storage.conf overrides, flags and environment variables can move everything. The command prints the effective paths for exactly the user and context you ran it as.

why is podman failing with no space errors

Out of graphroot space, usually. Rootless storage lives in your home directory, so a full home partition stops pulls with quota errors. Check du on the storage folder, prune with podman system prune, or point storage.conf at a bigger disk. Never delete graphroot contents by hand while the daemon state expects them.

where is containers.conf on podman desktop mac

Inside the machine VM, at the same Linux paths. On macOS and Windows, containers run in a Podman machine VM, so edit configs with podman machine ssh first. Your local ~/.config/containers only affects the remote client side, not the engine in the VM.

Notice an outdated path? Let us know.