If you’re doing it from scratch, I’d recommend starting with a filesystem that has parity checks and filesystem scrubs built in: eg BTRFS or ZFS.
The benefit of something like BRTFS is that you can always add disks down the line and turn it into a RAID cluster with a couple commands.
If you want to move your containers to a different location, look into configuring docker’s
data-root
: https://stackoverflow.com/questions/24309526/how-to-change-the-docker-image-installation-directoryYou copy
/var/lib/docker
to a new location and update/etc/docker/daemon.json
I will say: Moving data-root to an NFS mount isn’t going to work well. I’ve tried it, and docker containers rely on filesystem features to run their overlays. On an NFS, this feature isn’t present, so your services will duplicate the container’s entire filesystem. This will tank your performance and is basically unusable for anything but trivial examples. Docker data-root basically needs to be a “physical” disk.
I’ve had no issues using NFS shares mounted as docker volumes. It’s just the data-root where it’ll fail.