1.拉取 mongo 官方镜像:
docker pull mongo
2.创建一个名叫mongo的容器并运行,并将容器的27017端口映射到主机的27017端口,并将本机中的目录挂载到容器中的/data/db中,作为 mongodb 的存储目录:
docker run -p 27017:27017 -v <LocalDirectoryPath>:/data/db --name mongo -d mongo
(在设置数据目录挂载时,需要注意默认情况下只能共享/Users/
,Volumes/
,/private/
,和 /tmp
目录,需要设置其他目录要在Docker -> Preferences... -> File Sharing
下添加共享目录)
(这样做的好处是,当容器被删除时,其中的数据并不会被删除。而且系统也可以通过这个文件夹直接访问到容器中的制定目录)
3.停止 container:
docker stop mongo
或使用 exit 命令或者按 cmd+D 退出终端
(docker run
是创建命令,当容器再运行 run 会导致创建重名容器冲突)
4.启动 container:
docker container start mongo
5.在容器 mongo 中开启一个交互模式的终端:
docker exec -it mongo /bin/bash
6.运行 mongo 命令:
mongo
7.导出数据到当前目录下:
mongoexport --db testdb -c testcol --out test.json
8.导入数据到数据库中:
mongoimport --db testdb -c usage --file /data/db/db.json --batchSize 1000
(坑1:正常导出的数据是没有注释的,所有导入的数据也得一致,否则出错)
(坑2:Mongo对单次处理好像有大小限制即16M,--batchSize
可以指定每次批量导入的条数 设置小一些就不报错)
网友评论