拉鏡像
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