使用Docker-Compose部署MongoDB

記錄本身,即已是反抗

首先下載mongo鏡像,簡單命令不做過多敘述,前面文章有介紹怎么基本使用docker。
之后編寫docker-compose.yml文件,運行 docker-compose up -d生成容器并后臺啟動。

root創(chuàng)建

// docker-compose.yml
// command:啟動是的命令行參數(shù),添加認證auth
version: '2'
services:
  mongodb:
    image: mongo
    ports:
        - 27017:27017
    volumes:
        - "./data/configdb:/data/configdb"
        - "./data/db:/data/db"
    command: mongod --auth
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root       #初始化管理員用戶名和密碼
      - MONGO_INITDB_ROOT_PASSWORD=123456
    tty: true

帶上mongo-express,web管理頁面。

# Use root/example as user/password credentials
version: '3.1'

services:

  mongo:
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: root
    # command: ["--bind_ip_all"]
    ports:
      - "27017:27017"

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: root

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

image.png

進入docker容器并進入mongo命令行。

docker exec -it 4 /bin/bash
mongo

此時show dbs無法執(zhí)行,需要認證。
切換到admin并創(chuàng)建root用戶:

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

image.png

如上,可以看到root用戶創(chuàng)建成功。exit退出mongo命令行,帶驗證的mongodb已經(jīng)創(chuàng)建成功。

普通用戶創(chuàng)建

接下來創(chuàng)建普通用戶,并演示驗證。
再次執(zhí)行mongo 進入mongodb命令行。

image.png

可以看到root用戶驗證成功,并且可以查看數(shù)據(jù)庫。

下面創(chuàng)建普通用戶,和創(chuàng)建root用戶基本一致,只是角色不同 。

//擁有對數(shù)據(jù)庫app的讀寫權(quán)限。
use app
db.createUser(
  {
    user: "swen",
    pwd: "swen",
    roles: [ { role: "readWrite", db: "app" }
             ]
  }
)

image.png

創(chuàng)建成功并exit退出,swen用戶可以對(只能對)app進行操作。
下面做基本演示。

基本驗證:


image.png

演示往 test集合插入簡單數(shù)據(jù),并查看數(shù)據(jù)庫狀態(tài)。

image.png

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 副本集概述 某些情況下,副本可以提供更高的讀取容量,就像客戶端可以發(fā)送讀操作到不同的服務(wù)器。在不同數(shù)據(jù)中心維...
    LLLeon閱讀 10,640評論 2 7
  • 我寫了一篇有關(guān)如何使用DevOps時尚風(fēng)格部署mongodb集群的新文章,在本文中,我正在使用Terraform,...
    開心人開發(fā)世界閱讀 3,315評論 0 8
  • Compose 簡介 Compose 項目是 Docker 官方的開源項目,負責(zé)實現(xiàn)對 Docker 容器集群的快...
    daqiaowijiu閱讀 1,954評論 1 8
  • 9.1 使用Docker Compose 部署應(yīng)用——簡介 多數(shù)的現(xiàn)代應(yīng)用通過多個更小的服務(wù)相互協(xié)同來組成一個完整...
    super_pcm閱讀 965評論 0 6
  • 因為斷更,我簡書的天數(shù)重新歸零,我重新開始,始料未及的是,我距上次的斷更已經(jīng)10天多了,我真心以為我依然會繼續(xù)不斷...
    逸瓊閱讀 219評論 0 0

友情鏈接更多精彩內(nèi)容