欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker安裝MongoDB的過程(mongo.latest)

 更新時間:2024年11月08日 09:32:16   作者:寰夢  
MongoDB是一種高性能、靈活的數(shù)據(jù)庫,特別適合處理大量非結(jié)構(gòu)化數(shù)據(jù),它采用文檔數(shù)據(jù)模型,支持復雜的數(shù)據(jù)結(jié)構(gòu),提供類似面向?qū)ο蟮牟樵冋Z言,本文給大家介紹Docker安裝MongoDB的過程(mongo.latest),感興趣的朋友一起看看吧

一、MongoDB介紹

MongoDB是一種基于分布式文件存儲的數(shù)據(jù)庫,使用C++語言開發(fā),旨在為Web應用提供可擴展且高性能的數(shù)據(jù)存儲解決方案。作為一種介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的技術(shù),MongoDB具有強大的功能和高效的性能,特別適用于處理海量的非結(jié)構(gòu)化數(shù)據(jù)。

MongoDB的核心概念與特性:

  • 數(shù)據(jù)模型:MongoDB采用文檔數(shù)據(jù)模型,數(shù)據(jù)以類似JSON的BSON格式存儲,支持復雜的數(shù)據(jù)結(jié)構(gòu),如內(nèi)嵌文檔和數(shù)組,具有高度的靈活性。
  • 查詢語言:MongoDB提供類似面向?qū)ο蟮牟樵冋Z言,支持動態(tài)查詢,能夠?qū)崿F(xiàn)大多數(shù)關(guān)系型數(shù)據(jù)庫的單表查詢功能,同時支持數(shù)據(jù)索引以提高查詢性能。
  • 分布式存儲:MongoDB支持水平擴展,可將數(shù)據(jù)分布到多個服務器上,保證高可用性和出色的性能。
  • 高可用性與容災:MongoDB通過復制集和分片機制,確保系統(tǒng)具備高可用性和容災能力,從而提升了系統(tǒng)的可擴展性。

MongoDB的發(fā)展歷程與最新進展:

MongoDB由10gen(現(xiàn)為MongoDB Inc.)于2007年開始開發(fā),最初目標是構(gòu)建一個云平臺即服務(PaaS)。2009年,MongoDB作為開源項目正式發(fā)布。自那時以來,MongoDB經(jīng)歷了快速發(fā)展,新增了如復制集、分片等關(guān)鍵特性,顯著提升了可擴展性和高可用性。最近的技術(shù)創(chuàng)新包括優(yōu)化有線協(xié)議和引入新的存儲引擎,進一步增強了事務支持功能。

MongoDB的應用場景與行業(yè)應用:

MongoDB非常適合需要快速迭代和支持多樣化數(shù)據(jù)格式的應用場景。憑借其靈活的數(shù)據(jù)庫模型和出色的性能,MongoDB已被廣泛應用于各類企業(yè),滿足從初創(chuàng)公司到大型企業(yè)的不同數(shù)據(jù)管理需求。尤其在處理海量非結(jié)構(gòu)化數(shù)據(jù)的場景中,MongoDB表現(xiàn)出色,成為許多行業(yè)的首選數(shù)據(jù)庫解決方案。

二、安裝MongoDB

1.拉取MongoDB鏡像

docker pull mongo:latest

2.創(chuàng)建掛載目錄

(1)進入文件夾

cd /usr/local/docker

注:不必非得是/usr/local/docker這個目錄,根據(jù)自己的需求和喜好來就行,可自由選擇

(2)創(chuàng)建文件和賦權(quán) 

# 創(chuàng)建一個名為 mongodb 的主目錄
mkdir mongodb
# 進入 mongodb 目錄,以便后續(xù)操作
cd mongodb
# 創(chuàng)建一個名為 config 的子目錄,用于存放 MongoDB 配置文件
mkdir config
# 創(chuàng)建一個名為 data 的子目錄,用于存放 MongoDB 數(shù)據(jù)文件
mkdir data
# 創(chuàng)建一個名為 logs 的子目錄,用于存放 MongoDB 的日志文件
mkdir logs
# 在 config 目錄下創(chuàng)建一個名為 mongod.conf 的空文件,這是 MongoDB 的配置文件
touch config/mongod.conf
# 將 /usr/local/docker/mongodb 目錄的權(quán)限設置為 777,允許任何用戶對該目錄進行讀、寫和執(zhí)行操作
chmod 777 /usr/local/docker/mongodb

(3)編寫配置文件

使用 vi 或 vim 編輯器打開mongod.conf文件

vim mongod.conf

如果使用FinalShell工具,可以直接雙擊文件打開

添加內(nèi)容

# 數(shù)據(jù)庫存儲路徑
dbpath=/usr/local/docker/mongodb/data
# 日志文件路徑
logpath=/usr/local/docker/mongodb/logs/mongod.log
# 監(jiān)聽的端口
port=27017
# 允許所有的 IP 地址連接
bind_ip=0.0.0.0
# 啟用日志記錄
journal=true
# 是否后臺運行
fork=true
# 啟用身份驗證
#auth=true

3.啟動MongoDB容器

docker run -dit --name mongo \
-p 17017:27017 \
-v /usr/local/docker/mongodb/config/mongod.conf:/etc/mongod.conf \
-v /usr/local/docker/mongodb/data:/data/db \
-v /usr/local/docker/mongodb/logs:/var/log/mongodb \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
--restart=always  \
mongo

解釋:

docker run:

用于創(chuàng)建并啟動一個新的 Docker 容器。

-dit:

-d:讓容器在后臺運行(detached mode),即以守護進程方式運行容器。

-i:保持標準輸入流打開,通常與 -t 一起使用。

-t:為容器分配一個偽終端,便于交互。

--name mongo:

為啟動的容器指定一個名稱,這里容器名為 mongo。

-p 17017:27017:

將主機的 17017 端口映射到容器的 27017 端口,這樣主機通過 17017 端口可以訪問到容器內(nèi) MongoDB 服務的 27017 端口。MongoDB 默認的端口是 27017。

-v /usr/local/docker/mongodb/config/mongod.conf:/etc/mongod.conf:

將主機的配置文件 /usr/local/docker/mongodb/config/mongod.conf 掛載到容器的 /etc/mongod.conf 位置,使容器使用主機上的配置文件來啟動 MongoDB 服務。

-v /usr/local/docker/mongodb/data:/data/db:

將主機的 /usr/local/docker/mongodb/data 目錄掛載到容器的 /data/db,用作 MongoDB 的數(shù)據(jù)存儲位置。這樣可以確保數(shù)據(jù)在容器重啟時持久化。

-v /usr/local/docker/mongodb/logs:/var/log/mongodb:

將主機的 /usr/local/docker/mongodb/logs 目錄掛載到容器的 /var/log/mongodb 位置,用于保存 MongoDB 的日志文件。這樣日志數(shù)據(jù)不會隨著容器銷毀而丟失。

-e MONGO_INITDB_ROOT_USERNAME=admin:

設置 MongoDB 初始化時的 root 用戶名為 admin。此用戶名將在數(shù)據(jù)庫首次啟動時用于身份驗證。

-e MONGO_INITDB_ROOT_PASSWORD=123456:

設置 MongoDB 初始化時的 root 用戶密碼為 123456。用于數(shù)據(jù)庫身份驗證。

--restart=always:

確保容器在停止或崩潰后總是自動重啟。如果 Docker 服務重啟或容器出現(xiàn)故障,容器將會自動重新啟動。

mongo:

指定使用 mongo 官方鏡像來啟動容器。該鏡像包含了最新的 MongoDB 服務。

總結(jié):

此命令啟動了一個 MongoDB 容器,并通過設置配置文件、數(shù)據(jù)目錄、日志目錄和初始化的用戶名及密碼,確保 MongoDB 在啟動時以指定配置運行,同時數(shù)據(jù)和日志會持久化在主機的指定目錄中。通過端口映射,MongoDB 服務可以通過主機的端口訪問,容器的重啟策略則確保了服務的高可用性。

4.查看是否啟動

三、創(chuàng)建用戶數(shù)據(jù)

1.進入MongoDB容器

docker exec -it mongo /usr/bin/mongosh

 2.切換到 admin 庫

use admin

3.執(zhí)行數(shù)據(jù)庫登錄操作,否則后面執(zhí)行命令會提示

MongoServerError[Unauthorized]: Command createUser requires authentication

# 使用創(chuàng)建容器時的用戶名和密碼
db.auth("admin","123456")

 4.登錄成功后,創(chuàng)建新用戶(用戶名和密碼可以自定義)

db.createUser(
  {
    user: "用戶名稱",           // 新用戶的用戶名
    pwd: "密碼",              // 新用戶的密碼
    roles: [                 // 為該用戶分配的角色權(quán)限
      { 
        role: "root",        // 角色是 "root",這是 MongoDB 中的一個內(nèi)置角色,擁有數(shù)據(jù)庫的完全管理權(quán)限
        db: "admin"          // 該角色是在 "admin" 數(shù)據(jù)庫上授予的,這意味著該用戶具有對整個 MongoDB 實例的管理權(quán)限
      }
    ]
  }
);

示例

db.createUser(
	{
		user:"testuser",
		pwd:"123456",
		roles:[{role:"root",db:"admin"}]
	}
);

5.創(chuàng)建完成后,嘗試使用上面創(chuàng)建的新用戶信息進行連接

db.auth('testuser','123456')

登錄成功也是顯示如下

四、關(guān)于用戶的常用命令

1.更新用戶角色,修改用戶權(quán)限,不會覆蓋原權(quán)限信息,只新增權(quán)限

db.updateUser("admin",{roles:[{role:"readWrite",db:"admin"}]})

2.更新用戶密碼

db.changeUserPassword("admin","123456")

3.刪除用戶

db.dropUser({'admin'})

4.查看所有用戶

show users

五、使用Navicat連接MongoDB

1.打開 Navicat 新建數(shù)據(jù)庫連接,選擇MongoDB

2.填寫配置信息

3.填寫完成配置信息后,點擊左下角“測試連接”按鈕

提示連接成功,此時,在點擊右下角“保存”按鈕,即可保存連接配置,這樣就可以通過Navicat去訪問MongoDB數(shù)據(jù)庫了。

到此這篇關(guān)于Docker安裝MongoDB詳解(mongo.latest)的文章就介紹到這了,更多相關(guān)Docker安裝MongoDB內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker安裝ros2詳細步驟介紹

    docker安裝ros2詳細步驟介紹

    大家好,本篇文章主要講的是docker安裝ros2詳細步驟介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 解決docker安裝后運行hello-world報錯的問題

    解決docker安裝后運行hello-world報錯的問題

    這篇文章主要介紹了解決docker安裝后運行hello-world報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker如何打包前端并運行完整步驟詳解

    docker如何打包前端并運行完整步驟詳解

    這篇文章主要介紹了使用Vue3和Vite1開發(fā)前端項目的過程,包括項目啟動、開發(fā)服務器運行、構(gòu)建生產(chǎn)環(huán)境以及使用Docker部署,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-01-01
  • Windows使用docker打開新窗口error解決辦法

    Windows使用docker打開新窗口error解決辦法

    這篇文章主要介紹了Windows使用docker打開新窗口error解決辦法,十分簡單,需要的朋友可以參考下。
    2017-09-09
  • Docker容器部署Java項目的自動化腳本

    Docker容器部署Java項目的自動化腳本

    這篇文章主要為大家詳細介紹了Docker容器中部署Java項目的自動化腳本編寫,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-04-04
  • docker安裝mongoDB及使用方法詳解

    docker安裝mongoDB及使用方法詳解

    這篇文章主要給大家介紹了關(guān)于docker安裝mongoDB及使用的相關(guān)資料,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2023-03-03
  • Docker常用命令總結(jié)大全(推薦!)

    Docker常用命令總結(jié)大全(推薦!)

    Dokcer里面有很多命令,全部的可以參考官方Reference文檔,命令太多我們只需要掌握部分命令即可,這篇文章主要給大家介紹了關(guān)于Docker常用命令總結(jié)大全的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • docker 突然不能被外網(wǎng)訪問的解決方案

    docker 突然不能被外網(wǎng)訪問的解決方案

    這篇文章主要介紹了docker 突然不能被外網(wǎng)訪問的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker部署用Python編寫的Web應用的實踐

    Docker部署用Python編寫的Web應用的實踐

    本文主要介紹了Docker部署用Python編寫的Web應用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 一文帶你了解Docker網(wǎng)絡模型

    一文帶你了解Docker網(wǎng)絡模型

    Docker是一種容器化平臺,它提供了一種輕量級的虛擬化解決方案,使得應用程序能夠以容器的形式運行,Docker網(wǎng)絡模型基于Linux內(nèi)核的網(wǎng)絡命名空間和虛擬以太網(wǎng)橋技術(shù),本文就給大家詳細介紹一下Docker?網(wǎng)絡模型,需要的朋友可以參考下
    2023-07-07

最新評論