Где лучше хранить БД? В докере или нет?
Дополню немного ответ Dr. Bacon, поскольку мне кажется он не так понял ваш вопрос, а вы, возможно, не так поняли суть проблемы.
Под БД, например постгрес, обычно понимают две разные вещи:
1) сами данные в файловой системе,
2) сервер базы данных, который реализует сетевой интерфейс для работы с БД и правильным образом кладёт и читает данные в файловой системе.

Так вот, сервер можно развернуть ка кна хостовой машине (как вы сказали "локально"), так и в докер-контейнере.
Файлы БД можно разместить как в файловой системе контейнера, так и в локальной файловой системе, примонтированной внутрь контейнера. 
И тут полно нюансов.
Давайте начнём с того, как правильно.
Правиьным будет взять стандартный докер-образ сервера БД, сконфигурировать его через компоуз-файл, а размещение файлов БД примонтировать в виде отдельного volume.

Что имел в виду Dr. Bacon. Он имел в виду, что если не монтировать файлы БД в volume, то они будут лежать внутри контейнера, а значит при его перезапуске все данные будут стерты, поскольку состояние файловой системы контейнера не принято хранить. Это одно из преимузеств докера - сделал образ унаследовав его от других образов, а потом при запуске контейнера он какждый раз как новенький.
За плюшки докера приходится платить понижением производительности файловой системы (хотя при использовании btrfs докером уже не так, но там сам btrfs дает накладные расходы, неоднозначные), можно получить до 20-30% понижение (это тюнится но в ущерб безопасности), кстати не только дисковый io, падает скорость системных вызовов.

Докер - это удобство развертывания и песочница (дает профит при защите от взлома), собственно на этом удобства заканчиваются.

Если по производительности ты не упираешься в дисковую систему то используй докер