ZFS is also a great deal: https://docs.docker.com/engine/userguide/storagedriver/zfs-driver/
This way you can manage your disk pools with 'zpool' command line.
For example, to create 'just a bunch of vdisk':
[root@localhost /]# mkdir /dsk
[root@localhost /]# dd if=/dev/zero of=/dsk/disk1 bs=1M count=750
[root@localhost /]# dd if=/dev/zero of=/dsk/disk2 bs=1M count=750
[root@localhost /]# dd if=/dev/zero of=/dsk/disk3 bs=1M count=750
[root@localhost /]# dd if=/dev/zero of=/dsk/disk4 bs=1M count=750
Ok, we have four disks of 750M each one. Now create one single ZFS pool:
[root@localhost /]# zpool create CIALINUX /dsk/disk{1,2,3,4}
Now we have a volume named CIALINUX, with almost 3GB automatically mounted in our / directory:
[root@localhost /]# df -h |grep CIALINUX
CIALINUX 2,9G 18K 2,9G 1% /CIALINUX
Other commands you can explore by yourself are:
# zpool list
# zpool status
# zpool status -x
# zpool destroy CIALINUX
Important: This last one 'destroys' your pool. Please pay attention to it.
Once you have your zfs pools, just place your files attached as docker volumes inside /zpool-mounted-directory for each container.
Hope this help community.