Volume
A volume is a logical storage resource that provides capacity for storing and accessing data, often by making it available to an operating system or application.
Kubernetes in Action, Second Edition
A volume is a storage resource that can be mounted into containers running in a pod.
- How it is used
- Uses volumes to retain application data across container restarts and share files among containers in a pod.
- How deep it goes
- Works through pod definitions, mounts, restart checks, initialization, and sharing; defers persistentVolumeClaim, ephemeral, and csi volumes.
- Examples
- Demonstrates MongoDB restart checks, a database initialization script, and a shared writer-to-Nginx file.
- What you can do after
- Apply it via Kubernetes Pod manifests to preserve files across container restarts or share files between pod containers.
Read how Kubernetes in Action, Second Edition explains volume →
Learn Docker in a Month of Lunches, Second Edition
A Docker volume is a Docker-managed storage unit that exists independently of containers and persists data across container lifecycles.
- How it is used
- Keeps stateful application data available when a container is replaced.
- How deep it goes
- Works through Dockerfile-created and named volumes, attachment, inspection, and reuse; does not explain storage-driver internals.
- Examples
- Uses a to-do app whose data survives an image update, plus a database-storage exercise using Docker Compose.
- What you can do after
- Operate/configure it with Docker commands to create, attach, inspect, and reuse storage across container replacements.
Read how Learn Docker in a Month of Lunches, Second Edition explains volume →
Data Pipelines with Apache Airflow, Second Edition
A Kubernetes volume is a storage abstraction that makes data available to containers in a pod.
- How it is used
- Shares persistent task data with containers running in Kubernetes pods.
- How deep it goes
- Defines storage resources in YAML and shows how Python SDK objects connect a claim to a pod mount.
- Examples
- Uses a MovieLens ratings-and-rankings workflow to pass files between task containers through /data.
- What you can do after
- Configure persistent storage for Kubernetes task containers using a claim and a mounted path.
Read how Data Pipelines with Apache Airflow, Second Edition explains volume →
Podman in Action: Secure, rootless containers for Kubernetes, microservices, and more
A volume is persistent or separately managed storage that can be associated with a container.
- How it is used
- Separates container application data from images for persistence, reuse, host sharing, and reduced layered-filesystem overhead.
- How deep it goes
- Explains bind mounts, named volumes, storage paths, mount types, lifecycle commands, and security adjustments, while only briefly noting plugins.
- Examples
- Demonstrates read-only web-content bind mounts, named-volume inspection, browser verification, and volume cleanup commands.
- What you can do after
- Operate/configure Podman volumes with -v, --mount, volume inspection, archival, and cleanup commands.
Road to Kubernetes
A storage volume is a storage resource attached to an application environment for retaining and accessing data.
- How it is used
- Deploys persistent data storage for stateful applications such as databases and message queues.
- How deep it goes
- Explains attachment through StatefulSets and demonstrates claims, mounts, storage requests, and initialization, without covering clustered databases.
- Examples
- Uses a Postgres StatefulSet with a 20Gi claim, mounted storage, and a lost+found cleanup init container.
- What you can do after
- Operate/configure persistent storage by declaring claims, mounting volumes, and attaching them to StatefulSet Pods.
Kubernetes for Developers
A Kubernetes volume is a directory-backed storage abstraction accessible to containers in a Pod, with its medium and contents determined by its volume type.
- How it is used
- Supports sharing files within a Pod and supplying ephemeral, configuration, or persistent storage to containers.
- How deep it goes
- Explains directory semantics, lifecycle differences, mounts, and attachment failure, while deferring higher-level StatefulSet design.
- Examples
- Uses an emptyDir cache, a MariaDB cloud disk, a zone-specific disk, and a FailedAttachVolume event.
- What you can do after
- Apply volumes via Kubernetes Pod manifests and diagnose cloud-disk attachment failures from events.
Just Use Postgres!
A Docker volume is persistent host-managed storage mounted into containers independently of their writable container filesystems.
- How it is used
- Provides persistent PostgreSQL storage while containers are started, stopped, removed, or recreated during development.
- How deep it goes
- Explains creation, mounting, host persistence, and a runnable command, while deferring production security and administration.
- Examples
- Uses postgres-volume mounted at /var/lib/postgresql/data in a PostgreSQL 17.2 container.
- What you can do after
- Operate Docker storage by creating a named volume and mounting it into a PostgreSQL container.
.NET in Action, Second Edition
A volume is storage made available to a container by mounting a host folder or file at a path in the container.
- How it is used
- Supplies containerized applications with external configuration and secrets without placing them in the image.
- How deep it goes
- Explains mounting, overwrite behavior, and JSON consumption, but does not detail Docker volume commands.
- Examples
- Uses a mounted secrets.json file at /settings/secrets.json to provide CosmosDbSettings:AuthKey.
- What you can do after
- Operate/configure Docker mounts and consume mounted JSON secrets through ASP.NET Core configuration.
Related concepts
- emptydir volumeincludes · An emptyDir volume is a Kubernetes volume that starts empty, is available to containers in a Pod, and is deleted when the Pod leaves its node.
- hostpath volumeincludes · A hostPath volume is a Kubernetes volume type that mounts a file or directory from a node’s filesystem into a Pod.
- containeruses · A software container is an isolated execution environment that packages an application and its dependencies while sharing the host operating system kernel.
- nfs volumeincludes · An NFS volume is a Kubernetes volume type that mounts a share from an NFS server for pod access.
- local volumeincludes · A local volume is a Kubernetes volume type that exposes storage attached to a specific node and constrains pod scheduling to that node.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.







