如何在 Docker 里导出导入 MongoDB 数据

如何在 Docker 里备份恢复 MongoDB 数据

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

1.1、进入 Docker 的 MongoDB

sudo docker exec -it docker_mongodb_1 bash

1.2、执行导出

  • 导出 gz 压缩文件(推荐)

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

  • 导出 BSON 文件

mongodump -h 127.0.0.1:27017 -d agri -o /home/

-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/agri.20191208.gz ~/ mongodb-backup/

  • docker_mongodb_1 表示容器名
  • /home/agri.20191208.gz 导出路径
  • ~/mongodb-backup/ 表示本机路径

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

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

sudo docker cp ~/mongodb-backup/agri.20191208.gz docker_mongodb_1:/home/

2.2、恢复 gz 数据至 MongoDB

mongorestore --gzip --archive=/home/agri.20191208.gz dump/ --dryRun --verbose

  • --dryRun 表示演习一下
  • --verbose 显示执行详情

注:去掉 --dryRun --verbose 才算真的恢复数据

更多恢复文档:https://docs.mongodb.com/manual/reference/program/mongorestore/

你可能感兴趣的:(如何在 Docker 里导出导入 MongoDB 数据)