Use a named Docker volume to better persist data #3592
Goal: Keep the database data around beyond the life of the DB container, and automatically attach it to new DB containers.
Based on #3590 to avoid conflicts.
This enables the use of defaults with variable interpolation. Followed procedure documented at https://docs.docker.com/compose/compose-file/compose-versioning/#version-1-to-2x