使用docker-compose备份Postgres Docker容器的解决方案
使用docker-compose备份Postgres Docker容器的解决方案
备份
使用pg_dumpall
命令备份Postgres数据库。
1 | docker-compose exec <postgres_service> pg_dumpall -U postgres > dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql |
docker-compose exec <postgres_service>
在名为<postgres_service>
的Postgres容器上执行命令。-U postgres
指定数据库的用户名。Docker的默认用户名是postgres
,如果你使用不同的用户名,请进行修改。
恢复
将dump_
date +%Y-%m-%d”“%H%M_%S.sql
文件放置在backup
文件夹中。
然后使用Docker卷将backup
文件夹绑定到Postgres容器上:
1 | volumes: |
删除现有的Postgres容器并创建一个新的容器:
1 | docker-compose down && docker-compose up -d |
执行数据库导入命令:
1 | docker-compose exec postgres psql -f /backup/dump_xxx.sql postgres -U postgres |
参考资料
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Damingerdai's Blog!