Storage/volume drivers supported by docker

overlay2
Overlay2 is the preferred storage driver for all currently supported Linux distributions, and requires no extra configurations.

fuse-overlayfs
Preferred only for running Rootless Docker on a host that does not provide support for rootless overlay2

btrfs and zfs
Allows 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 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

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

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.

https://docs.docker.com/storage/storagedriver/select-storage-driver/