I’m trying to migrate my
Seafile-docker container (and the whole docker) under BTRFS. I learned the hard way that docker doesn’t support AUFS under BTRFS, and I perfectly understand that. What I don’t understand is why docker requires a dedicated BTRFS block storage device to work (mentioned multiple times in BTRFS storage driver documentation).
Now I saved all my container images (with docker save) and I moved docker workspace under
/mnt/raid/docker/var-lib-docker following this guide. As specified in the guide, I’ve added the
/etc/systemd/system/docker.service.d/docker.conf drop-in replacement file for
systemd, and it seems to work properly. In fact, now I have this mountpoint instead of the AUFS one (plus my BTRFS Raid 1).
/dev/sdb1 on /mnt/raid type btrfs (rw,relatime,compress=zlib,space_cache,subvolid=5,subvol=/) /dev/sdb1 on /mnt/raid/docker/var-lib-docker/btrfs type btrfs (rw,relatime,compress=zlib,space_cache,subvolid=5,subvol=/docker/var-lib-docker/btrfs)
This configuration looks fine to me, and has the advantage that both Seafile user data and docker filesystems will share the same (compressed) space (so I don’t have to make two partitions and figure out which one will grow more quickly, then repartition, and so on).
Is there something I’m missing about BTRFS, docker and subvolumes? Will I regret this setup when my Seafile installation will be close to 2Tb and it will take days to make any change?
Thanks for any suggestions.