本文主要介绍如何部署mongodb。
Mongo官网:https://www.mongodb.com/docs/manual/
Mongo镜像说明官网:https://github.com/docker-library/mongo
Mongo镜像地址官网:https://hub.docker.com/_/mongo/?tab=tags
建议你有自己的nexus,解决各种网络加速问题,参考:Docker部署Nexus和nexus配置的一些实践
1.安装和部署
1.1 概述
注意,账号最好不要带破折号,最好使用下划线
1 2 3 4 5
| docker pull mongo:7.0.8-jammy docker volume create vo-mongo-data docker volume create vo-mongo-configdb
docker run --name qa-mongo --net=host -e TZ=Asia/Shanghai -v /etc/localtime:/etc/localtime:ro -v vo-mongo-data:/data/db -v vo-mongo-configdb:/data/configdb --restart=always --privileged=true -dit mongo:7.0.8-jammy mongod --replSet rs0
|
开始设置认证:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| docker exec -it qa-mongo mongosh admin
rs.initiate( { _id : "rs0", members: [ { _id : 0, host : "你的IP:27017" }, ] } )
exit
db.createUser({ user: 'mongo_admin', pwd: '你的管理员密码', roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "root", db: "admin" } ] }); exit
|
1.2 添加用户
1 2 3 4 5 6
| docker exec -it qa-mongo mongo admin
db.auth("mongo_admin","你的管理员密码");
use 你的库 db.createUser({ user: '你的账号', pwd: '你的密码', roles: [{ role: "readWrite", db: "你的库" }] });
|
1.3 测试
插入一条数据看看
1
| db.你的库.insert({"name":"tutorials point"})
|
1.4 副本设置方式
参考官网:https://www.mongodb.com/docs/manual/tutorial/deploy-replica-set-with-keyfile-access-control/