Skip to main content

Understanding Storage Drivers vs Volume Plugins

Storage drivers handle the low-level management of image and container layers. For persistent data, Docker uses volumes, which rely on volume driver plugins rather than storage drivers.
Volumes are decoupled from image storage drivers. They ensure your data persists across container restarts and removals.

Default Local Volume Driver

Docker’s default volume driver is local. It creates volumes on the host under /var/lib/docker/volumes. This driver is ideal for simple, on-host storage needs.

Third-Party Volume Driver Plugins

To integrate with external storage platforms, Docker supports many community and commercial volume plugins. Below is a summary of popular options:
The image lists different types of storage and volume drivers, including AUFS, ZFS, and Azure File Storage, with a link to Docker documentation.
Ensure each volume driver plugin is installed and configured on your Docker host. Verify compatibility and installation steps in the Docker Storage Plugins guide.

Multi-Provider Example: RexRay

RexRay can provision volumes across multiple storage backends. To run a MySQL container with an AWS EBS volume:
When this container stops or is removed, your data remains intact on the attached EBS volume.
This approach extends to Kubernetes. Explore how Kubernetes PersistentVolumes and StorageClasses manage dynamic provisioning with external drivers.

Watch Video