Чтобы создать дамп PostgreSQL из Docker-контейнера, вы можете использовать несколько методов. Вот несколько вариантов:
-
Использование команды Docker exec. Вы можете запустить команду
pg_dumpвнутри контейнера Docker с помощью командыdocker exec. Вот пример:docker exec <container_name> pg_dump -U <username> <database_name> > dump_file.sqlЗамените
именем или идентификатором вашего Docker-контейнера PostgreSQL,именем пользователя базы данных,имя базы данных, дамп которой вы хотите создать, иdump_file.sql— желаемое имя файла дампа. -
Копирование каталога данных. Другой способ — скопировать каталог данных PostgreSQL из контейнера Docker на локальный компьютер. Найдите каталог данных внутри контейнера Docker, обычно расположенный по адресу
/var/lib/postgresql/data, и скопируйте его в нужное место с помощью командыdocker cp. Затем вы можете использовать командуpg_dumpлокально, чтобы создать дамп из скопированного каталога данных. -
Использование тома Docker. Если у вас есть том Docker, настроенный для ваших данных PostgreSQL, вы можете смонтировать том во временный контейнер, а затем запустить команду
pg_dumpвнутри этого контейнера. Это позволяет вам получить прямой доступ к файлам данных.