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
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 |
|
|
|
|
|
|
|
|
|
|
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.
See the Docker storage driver documentation for additional information on storage drivers and selection/configuration.
Last updated