Данные, записанные в файловую систему контейнера, живут в записываемом слое контейнера и теряются при удалении контейнера. Volumes хранят данные на хосте (или в облаке) независимо от жизненного цикла контейнера.
/var/lib/docker/volumes/name/_data). Удобно для БД, кешаdocker run -v mydata:/var/lib/postgresql/data postgres
docker run -v $(pwd)/config.yaml:/app/config.yaml myapp
Для stateless API volumes не обязательны. Для состояния (файлы загрузок, SQLite, данные) используйте volume, иначе при пересоздании контейнера данные пропадут.