I use Borg (https://borgbackup.readthedocs.io/en/stable/) with some Python and Bash scripts.
All my containers write to the same volume mount (e.g., /mnt/docker_share/$service_name), the scripts shutdown the LVM, run the backups from Borg, sync the files to rsync.net and turn the LVM back on when the backups finish.