What is Storage Driver and types of Storage Driver? Explained with Images.
Limited Time Offer!
For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!
Docker supports several storage drivers, using a pluggable architecture. The storage driver controls how images and containers are stored and managed on your Docker host.
- Docker uses storage drivers to store image layers
- Docker uses storage drivers to store data in the writable layer of a container.
- The container’s writable layer does not persist after the container is deleted, but is suitable for storing temp data generated at runtime.
- Storage drivers are optimized for space efficiency.
- But write speeds are lower than native file system performance.
The Docker Engine provides the following storage drivers on Linux:
Driver | Description |
---|---|
overlay2 | overlay2 is the preferred storage driver for all currently supported Linux distributions, and requires no extra configuration. |
fuse-overlayfs | fuse-overlayfs is preferred only for running Rootless Docker on a host that does not provide support for rootless overlay2 . On Ubuntu and Debian 10, the fuse-overlayfs driver does not need to be used, and overlay2 works even in rootless mode. Refer to the rootless mode documentation for details. |
btrfs and zfs | The btrfs and zfs storage drivers allow for advanced options, such as creating “snapshots”, but require more maintenance and setup. Each of these relies on the backing filesystem being configured correctly. |
vfs | The vfs storage driver is intended for testing purposes, and for situations where no copy-on-write filesystem can be used. Performance of this storage driver is poor, and is not generally recommended for production use. |
aufs | The aufs storage driver Was the preferred storage driver for Docker 18.06 and older, when running on Ubuntu 14.04 on kernel 3.13 which had no support for overlay2 . However, current versions of Ubuntu and Debian now have support for overlay2 , which is now the recommended driver. |
devicemapper | The devicemapper storage driver requires direct-lvm for production environments, because loopback-lvm , while zero-configuration, has very poor performance. devicemapper was the recommended storage driver for CentOS and RHEL, as their kernel version did not support overlay2 . However, current versions of CentOS and RHEL now have support for overlay2 , which is now the recommended driver. |
overlay | The legacy overlay driver was used for kernels that did not support the “multiple-lowerdir” feature required for overlay2 All currently supported Linux distributions now provide support for this, and it is therefore deprecated. |