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

bob*_*lan 3 mongodb docker rocket.chat

我使用这个泊坞窗图像:https://hub.docker.com/_/rocket.chat/

这是我使用的代码:

docker run --name db -d mongo:3.0 --smallfiles
docker run --name rocketchat --link db -d rocket.chat
Run Code Online (Sandbox Code Playgroud)

我尝试了几种方法,但找不到一种拥有干净的备份/恢复系统的方法。

有什么建议吗?

bob*_*lan 5

对于后代:根据官方 docker 镜像,在服务器 1 上备份 Rocket.chat 并在服务器 2 上恢复它:

服务器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/
Run Code Online (Sandbox Code Playgroud)

然后mongoBACKUP.tar.gz在 SERVER 2 上发送/backups

服务器 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
Run Code Online (Sandbox Code Playgroud)