Miałem dokładnie ten sam problem z bazą danych postgres i aplikacją Django działającą z docker-compose.
Okazuje się, że plik Dockerfile mojej aplikacji używał punktu wejścia, w którym wykonano następujące polecenie:python manage.py flush
co usuwa wszystkie dane w bazie danych. Ponieważ jest to wykonywane przy każdym uruchomieniu kontenera aplikacji, usuwa wszystkie dane. Nie miało to nic wspólnego z docker-compose.