Оба автора выше правы, я упрощу вам задачу еще более того.
Теория для размышлений: представьте, что докер создает внутри вашего ПК еще один пк (виртуальное окружение), копирует ваш код в "свой" ПК и там его крутит, там же и создает нужный вам файл. Когда вы контейнер удаляете (docker compose down, например), то удаляется и тот самый ПК докера, включая все файлы, что там лежали (и ваш тоже, и весь скопированный код и тд)
Практика: существует такая вещь как Volumes в Docker, подробнее тут:
docker volumes
Опять же представим, что докер создал отдельный ПК с вашим кодом, что он делает с Volume? Volume - это для "ПК внутри докера" как облачное хранилище (облако в данном случае это ваш ПК и есть)
Внутри этого Volume лежат различные файлы, к которым докер имеет доступ "извне", то есть со своей вм может обращаться к ним
Волюмом можно сделать как отдельный файл, так и папку, способов создания масса, но тк вы начинающий, предлагаю начать со следующих строк:
db_auth:
container_name: db_auth
ports:
- "5432"
environment:
- POSTGRES_PASSWORD=root
- POSTGRES_USER=admin
- POSTGRES_DB=postgres
image: postgres:12.22
volumes:
-<path_to_file_or_directory>:<path_to_file_or_directory>
На первое время для простого скрипта этого должно хватить, а дальше - изучайте документы, форумы и тд, я когда-то и сам ответ на этот вопрос нашел в интернете