Docker storage driver: lvm-loopback and overlayfs2

[root@sbensonrheltemplatetesting rhel7]# docker info
Containers: 3
Running: 1
Paused: 0
Stopped: 2
Images: 1
Server Version: 18.03.0-ce
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file

uname -r


cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.4 (Maipo)

cat /etc/docker/daemon.json

“ipv6”: true,
“fixed-cidr-v6” : “2001:db8:1::/64”

  1. how did docker choose overlayfs2 as its storage driver as a default? All the readings I have mentioned that it would be devicemapper’s lvm-loopback

  2. All the readings I have read said lvm-loopback isnt for production. Is it soley because of performance issues or something else? If the app in a containers do not write or if they do write it’s over a NFS mounted volume, then would it still be an issue?

  3. can overlayfs2 be used for “production” under the same criteria that determined that lvm-loopback isnt for production?

  4. how do I check how much space /var/lib/docker is allocated for for overlayfs2? overlayfs2 doesnt show info as devicemapper does as the following:

Storage Driver: devicemapper
Pool Name: docker-253:0-134446154-pool
Pool Blocksize: 65.54kB
Base Device Size: 10.74GB
Backing Filesystem: xfs
Udev Sync Supported: true
Data file: /dev/loop1
Metadata file: /dev/loop2
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Data Space Used: 17.56MB
Data Space Total: 107.4GB
Data Space Available: 3.631GB
Metadata Space Used: 581.6kB
Metadata Space Total: 2.147GB
Metadata Space Available: 2.147GB