首页 > 解决方案 > 尝试在 docker composer 中备份 MongoDB 时服务器冻结

问题描述

我有一个使用 Python 和 Flask 创建的后端 API 服务器。我使用MongoDB作为我的数据库。每次更新源代码时,我都会构建并运行docker-composer 。因此,我总是在停止和重新启动docker container之前备份我的数据库。

从一开始我就使用这个命令在我的默认文件夹中获取备份:

sudo docker-compose exec -T db mongodump --archive --gzip --db SuperAdminDB> backup.gz

这条线以前运作良好。然后我在重新启动docker-composer后再次恢复数据库,以使用更新的代码启用我的后端。我用这个命令来恢复数据库。

sudo docker-compose exec -T db mongorestore --archive --gzip < backup.gz

但是从今天开始,当我尝试在 docker 仍在运行时(像往常一样)从服务器获取备份时,服务器像下图一样冻结。

在此处输入图像描述

我正在使用Amazon EC2服务器和Ubuntu 20.04版本

标签: pythonmongodbdockerflaskamazon-ec2

解决方案


首先,停止重定向命令的输出。如果您不知道它是否有效,您应该查看包括输出在内的所有可用信息。

然后验证您是否可以使用 mongo shell 连接到您的部署并运行命令。

如果成功,请查看服务器日志并验证是否有来自 mongodump 的连接记录。

如果可行,请尝试转储其他收藏。


推荐阅读