CentOS7.4下使用docker运行mongodb,对原有mongodb备份及迁移
2022/7/9 2:50:25
本文主要是介绍CentOS7.4下使用docker运行mongodb,对原有mongodb备份及迁移,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/262
一、查看原有mongodb的版本
# mongo --version MongoDB shell version v3.4.24 git version: 865b4f6a96d0f5425e39a18337105f33e8db504d OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013 allocator: tcmalloc modules: none build environment: distmod: rhel70 distarch: x86_64 target_arch: x86_64
二、选择相同版本的mongodb的docker镜像
访问 MongoDB 镜像库地址: https://hub.docker.com/_/mongo?tab=tags&page=1。
可以通过 Sort by 查看其他版本的 MongoDB,默认是最新版本 mongo:latest。
搜索3.4.24的镜像版本
三、获取并安装mongo镜像
#拉取镜像 docker pull mongo:3.4.24 #查看镜像 docker images
四、修改配置,启动容器
#1创建映射目录 mkdir -p /data/mongodb/data mkdir -p /data/mongodb/log mkdir -p /data/mongodb/conf #2修改配置 vi /data/mongodb/conf/mongod.conf # mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # where to write logging data. systemLog: destination: file logAppend: true path: /data/log/mongo.log # Where and how to store data. storage: dbPath: /data/db journal: enabled: true # engine: # mmapv1: # wiredTiger: # how the process runs #processManagement: # fork: true # fork and run in background # pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile # network interfaces net: port: 27017 bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces. security: authorization: enabled # clusterAuthMode: keyFile # keyFile: /srv/mongodb/keyfile # javascriptEnabled: true #operationProfiling: #replication: #sharding: ## Enterprise-Only Options #auditLog: #snmp: #3.启动容器 docker run -itd \ --name mongo \ --restart always \ --privileged=true \ -p 27017:27017 \ -v /data/mongodb/data:/data/db \ -v /data/mongodb/log:/data/log \ -v /data/mongodb/conf:/data/configdb \ -e TZ=Asia/Shanghai \ mongo:3.4.24 \ -f /data/configdb/mongod.conf #查看容器 docker ps
五、创建用户
#1.登录原有服务器上的mongo mongo #2.密码校验 use admin db.auth("joshua317","password"); #3.查看全局所有账户 db.system.users.find().pretty() #4.查看当前库下的账户 show users #5.进入新服务的mongo容器 docker exec -it mongo /bin/bash #6.登录mongo mongo #7.创建用户 use admin db.createUser({user:'joshua317',pwd:'password', roles:[{role:'root', db:'admin'}]}) use chat db.createUser({user:'joshua317',pwd:'123456', roles:[{role:'readWrite', db:'chat'}]}) db.auth("joshua317","123456");
六、备份原有数据
#1.登录原有服务器上的mongo mongo #2.密码校验 use admin; db.auth("joshua317","password"); #3.查看数据库 show dbs; exit; #4.备份,备份后会生成一个文件夹,对文件夹进行打包并传递到新的服务器 mongodump -d chat -o /root/ -u=josua317 --authenticationDatabase admin
七、恢复原有数据
#1.进入新服务的mongo容器 docker exec -it mongo /bin/bash #恢复数据 mongorestore -d chat /data/db/chat -u josua317 --authenticationDatabase admin
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/262
这篇关于CentOS7.4下使用docker运行mongodb,对原有mongodb备份及迁移的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程
- 2024-11-04Docker环境部署资料:新手入门教程
- 2024-11-01Docker环境部署教程:新手入门指南
- 2024-11-01超越Docker:苹果芯片上的模拟、编排和虚拟化方案讲解
- 2024-11-01Docker环境部署:新手入门教程