Tag: 数据库恢复

微服务架构数据库备份和恢复

我正在做一个基于微服务架构的大项目,所以考虑我有10个服务,其中一些有自己的数据库,这些数据库是在不同的技术(mysql,mongodb,elastic …) 那么备份和恢复服务收集的最佳做法是什么? 真正的问题是这些数据库是相互关联的,例如在我的逻辑后端服务器上我保存来自oauth服务器的每个用户的oauhId, 现在考虑分别恢复这两个数据库,现在我的逻辑服务器上的用户数据库包含一些用户,这些用户在oauth服务器上没有任何相关logging, 只是为了您的信息,我正在使用docker,docker-compose和docker swarm来进行服务编排。

Laravel Docker无法执行PostgreSQL pg_restore

我使用Laravel 5运行Docker容器,并且在我的机器上安装了PostgreSQL 。 一切都很完美,除了我可以在我的数据库上获得许多数据,并且使播种需要大约1个小时。 我想到的解决方法是恢复一个备份文件(仅数据),将在大约5分钟为我的数据库种子。 真棒! 但… Laravel运行在Docker容器中,PostgreSQL不在Laravel中 $cmd = "pg_restore -v -U pgadmin -d $database $path"; exec($cmd); 我得到一个错误,说没有pg_restore执行。 sh: 1: pg_restore: not found 所以,最后,我的问题是: 我怎样才能使Laravel能够执行pg_restore? Obs:在机器上运行Laravel的时候也行,但是我真的需要用Laravel在docker和postgres之外解决这个问题。 提前致谢! 更新: 我编辑了docker-compose.yml并在卷下添加了以下行 ./usr/bin/pg_restore:/usr/bin/pg_restore 现在错误只是 sh: 1: pg_restore: Permission denied 这意味着现在它“看到”pg_restore命令,但没有执行它的权限,因为它运行在docker集装箱内……我该如何解决这个问题?

将Postgresql数据库还原到Docker容器中,以便在Postgres启动时使用数据库

我有一个Postgresql数据转储文件。 我该如何将备份恢复到只有数据的容器中,以便在docker运行postgresql容器时进行还原?