-
If
aufsis available, default to it, because it is the oldest storage driver. However, it is not universally available. -
If possible, the storage driver with the least amount of configuration is used, such as
btrfsorzfs. Each of these relies on the backing filesystem being configured correctly. -
Otherwise, try to use the storage driver with the best overall performance and stability in the most usual scenarios.
overlay2is preferred, followed by overlay. Neither of these requires extra configuration.devicemapperis next, but requires direct-lvm for production environments, because loopback-lvm, while zero-configuration, has very poor performance.
-
aufs,overlay, andoverlay2all operate at the file level rather than the block level. This uses memory more efficiently, but the container’s writable layer may grow quite large in write-heavy workloads. -
Block-level storage drivers such as
devicemapper,btrfs, andzfsperform better for write-heavy workloads (though not as well as Docker volumes). -
For lots of small writes or containers with many layers or deep filesystems,
overlaymay perform better thanoverlay2. -
zfsis a good choice for high-density workloads such as PaaS.
Created
June 30, 2017 21:47
-
-
Save lukassup/8e4d19a25103770e1a7de91febbc4b79 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment