Docker安裝MongoDB并使用Navicat連接的操作方法
MongoDB簡(jiǎn)介:
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語(yǔ)言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。MongoDB最大的特點(diǎn)是它支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z(yǔ)言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。
查看可用的MongoDB版本:
訪問(wèn)DokcerHub中的MongoDB鏡像庫(kù)地址:https://hub.docker.com/_/mongo/tags
可以通過(guò) Sort by 查看其他版本的MongoDB,查看最新版本MongoDB鏡像(mongo:latest):https://hub.docker.com/_/mongo/tags?page=1&name=latest
此外,我們還可以用docker search mongo
命令來(lái)查看可用版本:
拉取最新版本的MongoDB鏡像:
docker pull mongo:latest
注意:tag是可選的,tag表示標(biāo)簽,多為軟件的版本,默認(rèn)是latest版本(最新版)
驗(yàn)證MongoDB鏡像是否成功拉取到本地:
使用以下命令來(lái)查看MongoDB鏡像是否成功拉取到本地:
docker images
創(chuàng)建并運(yùn)行一個(gè)MongoDB容器:
參數(shù)說(shuō)明:
- -itd:其中,i是交互式操作,t是一個(gè)終端,d指的是在后臺(tái)運(yùn)行。
- --name mongo-test:容器名稱
- -p 27017:27017 :映射容器服務(wù)的 27017 端口到宿主機(jī)的 27017 端口。外部可以直接通過(guò) 宿主機(jī) ip:27017 訪問(wèn)到 mongo 的服務(wù)。
- --auth:需要密碼才能訪問(wèn)容器服務(wù)。
解決無(wú)法正常執(zhí)行mongo命令問(wèn)題
進(jìn)入容器:
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來(lái)執(zhí)行mongodb命令已經(jīng)不支持了,你需要改用mongosh來(lái)替代mongo!
添加MongoDB連接用戶和密碼:
1、進(jìn)入創(chuàng)建的MongoDB容器
docker exec -it mongo-test mongosh
2、創(chuàng)建MongoDB用戶
#進(jìn)入 admin 的數(shù)據(jù)庫(kù) use admin #創(chuàng)建管理員用戶 db.createUser( { user: "admin", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) #創(chuàng)建有可讀寫權(quán)限的用戶. 對(duì)于一個(gè)特定的數(shù)據(jù)庫(kù), 比如'demo' db.createUser({ user: 'test', pwd: '123456', roles: [{role: "read", db: "demo"}] })
服務(wù)器配置27017的開(kāi)放端口:
Navicat連接mongoDB
1.連接MongoDB點(diǎn)擊這個(gè)位置
2、連接參數(shù)介紹:
stand alone:獨(dú)立的
shard cluster:分片集群
replica set:復(fù)制集
SRV record:
SRV記錄是DNS服務(wù)器的數(shù)據(jù)庫(kù)中支持的一種資源記錄的類型,它記錄了哪臺(tái)計(jì)算機(jī)提供了哪個(gè)服務(wù)這么一個(gè)簡(jiǎn)單的信息。
SRV 記錄:一般是為Microsoft的活動(dòng)目錄設(shè)置時(shí)的應(yīng)用。DNS可以獨(dú)立于活動(dòng)目錄,但是活動(dòng)目錄必須有DNS的幫助才能工作。
為了活動(dòng)目錄能夠正常的工作,DNS服務(wù)器必須支持服務(wù)定位(SRV)資源記錄,資源記錄把服務(wù)名字映射為提供服務(wù)的服務(wù)器名字。
活動(dòng)目錄客戶和域控制器使用SRV資源記錄決定域控制器的IP地址。
一般情況下,我們連接只需要連接主庫(kù)查數(shù)據(jù),所以選擇獨(dú)立的這個(gè)連接方式就可以,填寫好常規(guī)參數(shù)可以點(diǎn)擊測(cè)試連接是否正常,即可連接!
到此這篇關(guān)于Docker安裝MongoDB并使用Navicat連接的文章就介紹到這了,更多相關(guān)Docker安裝MongoDB內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 教程之?dāng)?shù)據(jù)管理詳細(xì)介紹
這篇文章主要介紹了Docker 教程之?dāng)?shù)據(jù)管理詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-01-01docker構(gòu)建nginx?alpine鏡像實(shí)現(xiàn)步驟
這篇文章主要介紹了docker構(gòu)建nginx?alpine鏡像實(shí)現(xiàn)步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08深入理解Docker Load和Docker Import的區(qū)別詳解
Docker是一個(gè)流行的容器化平臺(tái),提供了豐富的命令和功能,其中docker load和docker import是兩個(gè)常用的命令,用于加載Docker鏡像,這篇文章主要給大家介紹了關(guān)于Docker Load和Docker Import區(qū)別的相關(guān)資料,需要的朋友可以參考下2024-03-03DOCKERFILE學(xué)習(xí)及使用注意事項(xiàng)
Dockerfile 由一行行命令語(yǔ)句組成,并且支持以 # 開(kāi)頭的注釋行。一般的,Dockerfile分為四部分:基礎(chǔ)鏡像信息、維護(hù)者信息、鏡像操作指令、容器啟動(dòng)時(shí)執(zhí)行指令2017-02-02Docker容器下運(yùn)行Nginx并實(shí)現(xiàn)反向代理
這篇文章介紹了Docker容器下運(yùn)行Nginx并實(shí)現(xiàn)反向代理的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03基于Harbor構(gòu)建docker私有倉(cāng)庫(kù)的方法
這篇文章主要介紹了Harbor構(gòu)建docker私有倉(cāng)庫(kù)的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12