docker 安装 mongodb
版本查看:https://www.mongodb.com/try/download/community
拉镜像
docker pull mongo:5.0.21
创建数据目录
mkdir -p /home/dockerdata/mongodb/data
运行,如果加需要验证就加--auth,不需要验证,就去掉。默认mongodb是不使用用户认证
docker run --restart always -p 27017:27017 -v /home/dockerdata/mongodb/data:/data/db -d --name mongo mongo:5.0.21
or
docker run --restart always -p 27017:27017 -v /home/dockerdata/mongodb/data:/data/db -d --name mongo mongo:5.0.21 --auth
如果开启认证需要走此步骤,6.0及其以上版本,mongo命令需要替换为mongosh
docker exec -it mongo /bin/bash
mongo admin
#创建超管
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
exit
#创建自己的库和集合
mongo
use admin
db.auth('admin','123456')
use mydb
db.createUser({user:"mydb_admin",pwd:"my_admin123===",roles:[{role:"dbOwner",db:"mydb"}]})
db.createCollection("mydb_first_collection",{capped:true,size:31457280})
exit
#验证是否成功
mongo
use software
db.auth("mydb_admin","mydb_admin123===")
未开启走此步骤,创建库并设置密码
docker exec -it mongo /bin/bash mongo use mydb db.createUser({user:"binz_admin",pwd:"binz_admin123===",roles:[{role:"dbOwner",db:"dbname"}]}) db.createCollection("mydb_system_log",{capped:true,size:31457280})
如果想把配置放在主机
docker cp mongo:/etc/mongod.conf.orig /home/dockerdata/mongodb/conf/mongod.conf.orig
docker rm mongo
docker run --restart always -p 27017:27017 -v /home/dockerdata/mongodb/data:/data/db -v /home/dockerdata/mongodb/conf/mongod.conf.orig:/etc/mongod.conf.orig -d --name mongo mongo #不限制缓存大小
docker run --restart always -p 27017:27017 -v /home/dockerdata/mongodb/data:/data/db -v /home/dockerdata/mongodb/conf/mongod.conf.orig:/etc/mongod.conf.orig -d --name mongo mongo --wiredTigerCacheSizeGB 1 #限制缓存大小
or
docker run --restart always -p 27017:27017 -v /home/dockerdata/mongodb/data:/data/db /home/dockerdata/mongodb/conf/mongod.conf.orig:/etc/mongod.conf.orig -d --name mongo mongo --auth