Docker安裝MongoDB并使用Navicat連接的操作方法
MongoDB簡介:
MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應用提供可擴展的高性能數(shù)據(jù)存儲解決方案。是一個介于關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫之間的產(chǎn)品,是非關系數(shù)據(jù)庫當中功能最豐富,最像關系數(shù)據(jù)庫的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲比較復雜的數(shù)據(jù)類型。MongoDB最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。
查看可用的MongoDB版本:
訪問DokcerHub中的MongoDB鏡像庫地址:https://hub.docker.com/_/mongo/tags
可以通過 Sort by 查看其他版本的MongoDB,查看最新版本MongoDB鏡像(mongo:latest):https://hub.docker.com/_/mongo/tags?page=1&name=latest

此外,我們還可以用docker search mongo命令來查看可用版本:

拉取最新版本的MongoDB鏡像:
docker pull mongo:latest
注意:tag是可選的,tag表示標簽,多為軟件的版本,默認是latest版本(最新版)

驗證MongoDB鏡像是否成功拉取到本地:
使用以下命令來查看MongoDB鏡像是否成功拉取到本地:
docker images

創(chuàng)建并運行一個MongoDB容器:
參數(shù)說明:
- -itd:其中,i是交互式操作,t是一個終端,d指的是在后臺運行。
- --name mongo-test:容器名稱
- -p 27017:27017 :映射容器服務的 27017 端口到宿主機的 27017 端口。外部可以直接通過 宿主機 ip:27017 訪問到 mongo 的服務。
- --auth:需要密碼才能訪問容器服務。


解決無法正常執(zhí)行mongo命令問題
進入容器:
docker exec -it mongo-test mongo

異常原因:
OCI runtime exec failed: exec failed: unable to start container process: exec: "mongo": executable file not found in $PATH: unknown
官網(wǎng)解決方案:
https://github.com/docker-library/mongo/issues/558
mongo5.0以上的版本使用mongo來執(zhí)行mongodb命令已經(jīng)不支持了,你需要改用mongosh來替代mongo!

添加MongoDB連接用戶和密碼:
1、進入創(chuàng)建的MongoDB容器
docker exec -it mongo-test mongosh

2、創(chuàng)建MongoDB用戶
#進入 admin 的數(shù)據(jù)庫
use admin
#創(chuàng)建管理員用戶
db.createUser(
{
user: "admin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
#創(chuàng)建有可讀寫權(quán)限的用戶. 對于一個特定的數(shù)據(jù)庫, 比如'demo'
db.createUser({
user: 'test',
pwd: '123456',
roles: [{role: "read", db: "demo"}]
})
服務器配置27017的開放端口:

Navicat連接mongoDB
1.連接MongoDB點擊這個位置

2、連接參數(shù)介紹:
stand alone:獨立的
shard cluster:分片集群
replica set:復制集
SRV record:
SRV記錄是DNS服務器的數(shù)據(jù)庫中支持的一種資源記錄的類型,它記錄了哪臺計算機提供了哪個服務這么一個簡單的信息。
SRV 記錄:一般是為Microsoft的活動目錄設置時的應用。DNS可以獨立于活動目錄,但是活動目錄必須有DNS的幫助才能工作。
為了活動目錄能夠正常的工作,DNS服務器必須支持服務定位(SRV)資源記錄,資源記錄把服務名字映射為提供服務的服務器名字。
活動目錄客戶和域控制器使用SRV資源記錄決定域控制器的IP地址。
一般情況下,我們連接只需要連接主庫查數(shù)據(jù),所以選擇獨立的這個連接方式就可以,填寫好常規(guī)參數(shù)可以點擊測試連接是否正常,即可連接!


到此這篇關于Docker安裝MongoDB并使用Navicat連接的文章就介紹到這了,更多相關Docker安裝MongoDB內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
docker構(gòu)建nginx?alpine鏡像實現(xiàn)步驟
這篇文章主要介紹了docker構(gòu)建nginx?alpine鏡像實現(xiàn)步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
深入理解Docker Load和Docker Import的區(qū)別詳解
Docker是一個流行的容器化平臺,提供了豐富的命令和功能,其中docker load和docker import是兩個常用的命令,用于加載Docker鏡像,這篇文章主要給大家介紹了關于Docker Load和Docker Import區(qū)別的相關資料,需要的朋友可以參考下2024-03-03

