Файл дампа на хосте в Docker
Файл дампа на хосте появляется, если вывод команды направить в файл каталога проекта.
Копию можно открыть редактором
и хранить рядом
с compose.yaml.
Сервис db на postgres:18
с паролем demo,
базой app
и томом dbdata
описывают так же,
как при снятии дампа
в терминал:
services:
db:
image: postgres:18
environment:
POSTGRES_PASSWORD: demo
POSTGRES_DB: app
volumes:
- dbdata:/var/lib/postgresql
volumes:
dbdata:
После фонового подъёма
и таблицы notes
в базе app
запускают снятие дампа
с перенаправлением вывода
на компьютере в dump.sql:
docker compose up -d
docker compose exec db psql -U postgres -d app -c "CREATE TABLE notes (id INT PRIMARY KEY)"
docker compose exec db pg_dump -U postgres app > dump.sql
Знак > обрабатывает
оболочка на хосте:
файл dump.sql
появляется в каталоге проекта,
а не внутри контейнера.
Команда exec
лишь печатает поток наружу,
а запись на диск делает
терминал на компьютере.
Сохраните текст базы archive с таблицей boxes в файл backup.sql в папке проекта на хосте для сервиса store.
Проверьте, что backup.sql лежит рядом с описанием compose, а не внутри работающей копии сервиса store.