Docker storage driver requirements and considerations
Docker images consist of a series of read-only layers, each representing an instruction in the image's Dockerfile. When Docker creates a container from an image, it creates a new writable layer (container layer) on top of the underlying image layers. The storage driver configured in Docker determines how your host system interacts with these layers.
Typical Docker setups will automatically configure the most appropriate storage driver for a given system. You can determine which storage driver is being used by running docker info on the host machine, which will return output similar to:
which outputs:
In this example, Docker is using the overlay storage driver.
A storage driver sometimes needs to be explicitly configured for a given system, depending on the following:
The host’s operating system, distribution, and Docker edition
The backing filesystem (i.e. where
/var/lib/docker
is located)
Operating system, distribution, and Docker edition
overlay2 is the recommended storage driver whenever possible, but any of the below should work:
Ubuntu:
aufs
,devicemapper
,overlay2
(Ubuntu 14.04.4 or later, 16.04 or later), overlay, zfs, vfsDebian:
aufs
,devicemapper
,overlay2
(Debian Stretch), overlay, vfsCentOS:
devicemapper
,vfs
,overlay2 (if xfs created with d_type=true)
RHEL:
devicemapper
,vfs
,overlay2 (if xfs created with d_type=true)
Fedora:
devicemapper
,overlay2
(Fedora 26 or later, experimental),overlay
(experimental),vfs
Please contact Plotly support if you need help configuring a storage driver while using a Docker edition other than Docker CE.
Backing filesystem (where /var/lib/docker
is located)
/var/lib/docker
is located)Specific backing filesystems are required for some storage drivers:
Storage driver
Supported backing filesystems
overlay
, overlay2
ext4
, xfs
aufs
ext4
, xfs
devicemapper
direct-lvm
btrfs
btrfs
zfs
zfs
Additionally, some backing filesystems will require additional configuration depending on the host system’s OS and kernel version, as discussed in Further considerations and cautions.
Further considerations and cautions
Running the devicemapper
storage driver in loopback
mode is highly unstable and not recommended for production systems. Instead, configure devicemapper
in direct-lvm
mode as described in Dash app manager boot failure. (Note that devicemapper
is the default storage driver for Centos 7/RHEL 7 systems.)
Occasionally, storage drivers may have additional prerequisites that could render them incompatible with your system or require additional system configuration. This includes kernel version requirements as well as filesystem formatting. For example, the xfs backing filesystem is supported for the overlay
storage driver, as long as d_type=true
is set you can verify that with xfs_info /mount-point
The 3rd column of the 6th line of the xfs_info output is the most interesting because it contains the parameter ftype which should be 1. When ftype is 0, d_type support is disabled. When it is 1, d_type support is enabled and you're safe to use the overlay(2) storage driver with Docker on an XFS filesystem.
Example of Terminal output:
See the Docker storage driver documentation for additional information on storage drivers and selection/configuration.
Last updated