A volume is storage mounted into a container and managed separately from its application image. Separating data avoids embedding environment-specific content, supports reuse, and can improve read/write performance by avoiding layered filesystems. section 3.0 section 3.1.3
Podman supports several practical volume workflows:
- Bind mounts expose an existing host file or directory through -v HOST-DIR:CONTAINER-DIR; changes are visible on both sides. section 3.1
- Named volumes are created with podman volume create, stored under container storage by default, reusable across containers, and retained after container removal. section 3.1.1
- The --mount option passes Linux mount options through Podman and supports bind, volume, image, tmpfs, and devpts types. section 3.1.3
- Volume commands create, inspect, list, export, import, prune, test existence, and remove volumes. section 3.1.1 section 3.1.3
Read-only bind mount
Create host content and mount it into a web container with SELinux labeling: podman run -d -v ./html:/var/www/html:ro,z -p 8080:8080 quay.io/rhatdan/myimage. The container can read the files, while host processes can still modify them; removing the container leaves the host directory intact. section 3.1
Named volume inspection
Create and inspect persistent storage with podman volume create webdata and podman volume inspect webdata, then mount it using -v webdata:/var/www/html:ro,z. Remove it explicitly with podman volume rm --force webdata when its data is no longer needed. section 3.1.1
Table 3.2 Podman volume commands (view table figure)
Use the command table to navigate Podman volume lifecycle operations, including creation, inspection, archival, cleanup, and removal. section 3.1.3







