使用 mongodb 在 docker 上备份和恢复 Rocket.chat

Backup and restore Rocket.chat on docker with mongodb

我使用这张 docker 图片:https://hub.docker.com/_/rocket.chat/

这是我使用的代码:

docker run --name db -d mongo:3.0 --smallfiles
docker run --name rocketchat --link db -d rocket.chat

我尝试了几件事,但我找不到一个干净的 backup/restore 系统的方法。

有什么建议吗?

为了后代:在服务器 1 上备份 Rocket.chat 并在服务器 2 上恢复它,基于官方 docker 图像:

服务器 1

cd /backups
docker run -it --rm --link db -v /backups:/backups mongo:3.0 mongodump -h db -o /backups/mongoBACKUP
tar czf mongoBACKUP.tar.gz mongoBACKUP/

然后在 /backups 中的服务器 2 上发送 mongoBACKUP.tar.gz

服务器 2(+ 测试:3000)

docker run --name db -d mongo:3.0 --smallfiles
cd /backups
tar xzf mongoBACKUP.tar.gz
docker run -it --rm --name mongorestore -v /backups/mongoBACKUP:/var/dump --link db:db mongo mongorestore --host db /var/dump
docker run -p 3000:3000 --name rocket --env ROOT_URL=http://yourwebsite.test --expose 3000 --link db -d rocket.chat