该镜像是一个基于MongoDB***镜像构建的功能扩展版本,在保留原生MongoDB数据库核心功能的基础上,集成了完整的数据导入/导出工具链,旨在简化MongoDB数据的备份、迁移及跨系统数据交换流程,适用于需要频繁进行数据导入导出操作的场景。
mongoimport命令,支持导入JSON、CSV、TSV等格式数据至指定数据库集合,支持字段映射、数据类型指定及批量导入mongoexport命令,支持将MongoDB集合数据导出为JSON、CSV、TSV格式文件,可指定导出字段、筛选条件及数据格式启动包含导入/导出功能的MongoDB容器,默认监听27017端口:
bashdocker run -d \ --name mongo-import-export \ -p 27017:27017 \ -v /local/mongo/data:/data/db \ # 持久化存储数据库文件 -v /local/import-export:/data/ie \ # 挂载导入导出文件目录 mongo-import-export
将本地JSON文件导入至指定数据库集合:
bash# 导入JSON数组文件(文件路径为容器内挂载路径) docker exec -it mongo-import-export mongoimport \ --uri "mongodb://localhost:27017/mydatabase" \ # 目标数据库地址 --collection users \ # 目标集合名称 --file /data/ie/users.json \ # 容器内JSON文件路径 --jsonArray # 声明文件为JSON数组格式(单文档JSON无需此参数)
导入包含表头的CSV文件至数据库集合:
bashdocker exec -it mongo-import-export mongoimport \ --uri "mongodb://localhost:27017/mydatabase" \ --collection products \ --type csv \ # 指定文件格式为CSV --file /data/ie/products.csv \ --headerline # 使用CSV首行作为字段名
将指定集合数据导出为JSON文件:
bashdocker exec -it mongo-import-export mongoexport \ --uri "mongodb://localhost:27017/mydatabase" \ --collection orders \ --out /data/ie/orders_export.json # 容器内导出文件路径
导出集合中特定字段数据为CSV文件:
bashdocker exec -it mongo-import-export mongoexport \ --uri "mongodb://localhost:27017/mydatabase" \ --collection users \ --type csv \ --fields name,email,register_date \ # 指定导出字段列表 --out /data/ie/users_export.csv
当MongoDB启用身份验证时,需在连接URI中指定认证信息:
bash# 启动带身份验证的容器 docker run -d \ --name mongo-import-export-auth \ -p 27017:27017 \ -v /local/mongo/data:/data/db \ -v /local/import-export:/data/ie \ -e MONGO_INITDB_ROOT_USERNAME=admin \ # 管理员用户名 -e MONGO_INITDB_ROOT_PASSWORD=securepass \ # 管理员密码 mongo-import-export # 带认证的导出示例(需指定authSource为管理员数据库) docker exec -it mongo-import-export-auth mongoexport \ --uri "mongodb://admin:securepass@localhost:27017/mydatabase?authSource=admin" \ --collection sensitive_data \ --out /data/ie/sensitive_export.json
| 参数/环境变量 | 说明 | 示例 |
|---|---|---|
--uri | MongoDB连接地址,格式为mongodb://[user:pass@]host:port/dbname?authSource=xxx | mongodb://admin:pass@localhost:27017/mydb?authSource=admin |
--collection | 指定操作的集合名称 | --collection user_profiles |
--file(mongoimport) | 待导入文件的容器内路径 | --file /data/ie/import_data.csv |
--out(mongoexport) | 导出文件的容器内路径 | --out /data/ie/export_data.json |
--type | 指定导入/导出文件格式(json/csv/tsv) | --type csv |
MONGO_INITDB_ROOT_USERNAME | 初始化数据库管理员用户名(环境变量) | -e MONGO_INITDB_ROOT_USERNAME=admin |
MONGO_INITDB_ROOT_PASSWORD | 初始化数据库管理员密码(环境变量) | -e MONGO_INITDB_ROOT_PASSWORD=secure123 |
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名