Docker Mongodb导出&导入
结构
【宿主机】
- 【mongo1】 Mongodb Docker容器1
- 【mongo2】 Mongodb Docker容器2
导出数据(容器1)
# 1. 进入容器
docker exec -it 《容器1名称或ID》 /bin/bash
# 2. 进入数据查看需要导出的库(知道导出的数据库名可以跳过)
mongo localhost:27017
# 3. 导出数据库
# -h:主机地址 --port:端口号 -d:需要导出的数据库名称 -o:导出文件保存地址
mongodump -h 127.0.0.1 --port 27017 -d yapi -o /backup/mongodb
# 4.导出的数据库打包(tar -zcvf 《文件名》.tar.gz 《打包文件路径》)
tar -zcvf yapi.tar.gz /backup/mongdb
# 5.退出容器1
exit
数据移动【宿主机中操作】
# 1. 【容器1】中的数据库备份复制到【宿主机】/backup/mongodb
docker cp <容器1>:/backup/mongodb/yapi.tar.gz /backup/mongodb
# 2.【宿主机】/backup/mongodb 中数据库备份移到【容器2】/backup/mongodb
docker cp /backup/mongodb/yapi.tar.gz <容器2>:/backup/mongodb
导入数据(容器2)
# 1. 进入容器2
docker exec -it <容器2名称或ID> /bin/bash
# 2.解压到当前目录
tar -zxvf /backup/mongodb/yapi.tar.gz
# 3.导入到数据库
# 数据库账号【yapi】 & 密码【yapi】,避免导入失败
mongorestore -h 127.0.0.1 -u yapi -p=yapi -d 《导入的数据库名》 《导入的数据库位置》/yapi