下載image

docker pull mongo

建立要外掛的資料夾

mkdir -p /mydata/mongo/data /mydata/mongo/log /mydata/mongo/config

啟用容器

docker run -itd \
-v /mydata/mongo/data:/data/db \
-v /mydata/mongo/log:/data/log \
-v /mydata/mongo/config:/data/configdb \
--name mongo -p 27017:27017 mongo --auth

進入容器

docker exec -it mongo bash

進入DB (預設進入 port 27017)

mongo

建立管理使用者 (有 > 符號的是輸入的指令)

> use admin
switched to db admin
> db.createUser({user:'admin',pwd:'e23s5',roles:[{role:'userAdminAnyDatabase',db:'admin'}]})
Successfully added user: {
        "user" : "admin",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                }
        ]
}

加入驗證

> db.auth('admin','e23s5')
1

建立使用者

> db.createUser({ user:'user',pwd:'123456',roles:[ { role:'readWrite', db: 'testdb'}]});
Successfully added user: {
        "user" : "user",
        "roles" : [
                {
                        "role" : "readWrite",
                        "db" : "testdb"
                }
        ]
}

驗證使用者

>  db.auth('user','123456')
1

測試

> use testdb
switched to db testdb
> db.person.insert({name:'Mark',age:30})
WriteResult({ "nInserted" : 1 })
> db.person.find({})
{ "_id" : ObjectId("5f74094dad05bc0d10bc6c3e"), "name" : "Mark", "age" : 30 }

下載GUI管理介面 Robo 3T