拉镜像
docker pull mongo
创建数据目录
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
or
docker run --restart always -p 27017:27017 -v /home/dockerdata/mongodb/data:/data/db -d --name mongo mongo --auth
如果开启认证需要走此步骤
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
mongo使用笔记:https://www.cnblogs.com/binz/p/11433791.html