使用 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
我使用这张 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