天天看點

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