天天看点

docker 安装 mongodb

拉镜像

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