docker postgres数据导入
用django自己的dumpdata命令导入数据,总是碰到各种外键及权限问题。直接用psql命令试试
导出:
进入要获取备份的容器 docker docker exec -u root -it 容器名 /bin/bash
备份
pg_dump -h localhost -p 5432 -U laonan xxx(数据库名) > /数据库dump备份文件目录/laonan-data-20201216-0200.bak
先进入要恢复数据的容器清空数据
docker docker exec -u root -it 容器名 /bin/bash
psql -U database_user -W database_name
//删除public模式以及模式里面所有的对象
DROP SCHEMA public CASCADE;
//创建public模式
CREATE SCHEMA public;
记得检查postgres容器是否停了,停了启动一下
把备份文件复制到容器内:
docker cp laonan-data-20201216-0200.bak laonan_db_container:/root/
最后
docker exec laonan_db_container psql -U liudehua -d laonan_db -f /root/laonan-data-20201216-0200.bak