docker建立帶auth驗證的mongodb數據庫

記錄自己,即已經是反抗

首先下載mongo鏡像,簡單命令不作過多敘述,前面文章有介紹怎麼基本使用docker。 以後編寫docker-compose.yml文件,運行 docker-compose up -d生成容器並後臺啓動。git

root建立

// docker-compose.yml
// command:啓動是的命令行參數,添加認證auth
version: '2'
services:
  mongodb:
    image: mongo
    ports:
        - 27017:27017
    volumes:
        - "./data/configdb:/data/configdb"
        - "./data/db:/data/db"
    command: mongod --auth
    tty: true
複製代碼

運行docker ps查看容器是否運行。 github

image.png
進入docker容器並進入mongo命令行。

docker exec -it 4 /bin/bash
mongo
複製代碼

此時show dbs沒法執行,須要認證。 切換到admin並建立root用戶:mongodb

use admin
db.createUser({ user: 'root', pwd: 'root', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
複製代碼

image.png
如上,能夠看到root用戶建立成功。 exit退出mongo命令行,帶驗證的mongodb已經建立成功。

普通用戶建立

接下來建立普通用戶,並演示驗證。 再次執行mongo 進入mongodb命令行。 docker

image.png

能夠看到root用戶驗證成功,而且能夠查看數據庫。數據庫

下面建立普通用戶,和建立root用戶基本一致,只是角色不一樣 。bash

//擁有對數據庫app的讀寫權限。
use app
db.createUser(
  {
    user: "swen",
    pwd: "swen",
    roles: [ { role: "readWrite", db: "app" }
             ]
  }
)
複製代碼

image.png
建立成功並 exit退出,swen用戶能夠對(只能對)app進行操做。 下面作基本演示。

基本驗證: app

image.png
演示往 test集合插入簡單數據,並查看數據庫狀態。
image.png

介紹到此完畢。 參考資料: MongoDB 用戶名密碼登陸
MongoDB 經常使用基本命令ui

github: github.com/yunshuipiaospa

相關文章
相關標籤/搜索