Да: вам нужно использовать внешние тома (либо собственные тома Docker, либо каталоги хоста), это не является обязательным. Удаление и воссоздание контейнеров - это чрезвычайно рутина (вам нужно сделать это, чтобы применить исправление безопасности в программном обеспечении базы данных или окружающей среде дистрибутива Linux, если ничего больше), и если вы удалите контейнер, вы потеряете все данные, которые был в нем.
Типичный вызов PostgreSQL будет выглядеть как
docker run \
--name postgres \
-d \
-p 5432:5432 \
-v $PWD/pgdata:/var/lib/postgresql/data \
postgres:11
https://hub.docker.com/_/postgres/ перечисляет все переменные среды и пути файловой системы контейнера, которые интересны для обычного пользователя.