Docker MongoDB导入导出数据

719

一、数据导出(Docker 里的 MongoDB)

1.1 进入Docker的MongoDB

sudo docker exec -it docker_mongodb_1 bash

1.2 执行导出

mongodump -h 127.0.0.1:27017 --archive=/home/yapi.20211212.gz --gzip -d=agri

PS: yapi为db name

-h 表示 host
-d/--db 表示 database
--archive 表示打包
-o 表示 output directory
--gzip 表示压缩
-u 表示 username
-p 表示 password

更多备份文档:https://docs.mongodb.com/manual/reference/program/mongodump/

1.3 将导出文件取回本地

sudo docker cp docker_mongodb_1:/home/yapi.20211212.gz ~/ mongodb-backup/
  • docker_mongodb_1 表示容器名
  • /home/yapi.20211212.gz 导出路径
  • ~/mongodb-backup/ 表示本机路径

二、数据库导入(Docker 里的 MongoDB)

2.1、拷贝本机文件至 Docker 里的 MogonDB

sudo docker cp ~/mongodb-backup/yapi.20211212.gz docker_mongodb_1:/home/

2.2、恢复 gz 数据至 MongoDB

mongorestore --gzip --archive=/home/yapi.20211212.gz dump/ --dryRun --verbose

--dryRun 表示演习一下
--verbose 显示执行详情
注:去掉 --dryRun --verbose 才算真的恢复数据
更多恢复文档:https://docs.mongodb.com/manual/reference/program/mongorestore/