MongoDB是一個基於分散式檔案儲存的資料庫。由C++語言編寫。旨在為WEB應用提供可延伸的高效能資料儲存解決方案。是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。它支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料型別。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
命令來檢視可用版本:
docker pull mongo:latest
注意:tag是可選的,tag表示標籤,多為軟體的版本,預設是latest版本(最新版)
使用以下命令來檢視MongoDB映象是否成功拉取到本地:
docker images
docker run -itd --name mongo-test -p 27017:27017 mongo --auth
引數說明:
進入容器:
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
官網解決方案:
https://github.com/docker-library/mongo/issues/558
mongo5.0以上的版本使用mongo來執行mongodb命令已經不支援了,你需要改用mongosh來替代mongo!
docker exec -it mongo-test mongosh
#進入 admin 的資料庫 use admin #建立管理員使用者 db.createUser( { user: "admin", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) #建立有可讀寫許可權的使用者. 對於一個特定的資料庫, 比如'demo' db.createUser({ user: 'test', pwd: '123456', roles: [{role: "read", db: "demo"}] })
stand alone:獨立的
shard cluster:分片叢集
replica set:複製集
SRV record:
SRV記錄是DNS伺服器的資料庫中支援的一種資源記錄的型別,它記錄了哪臺計算機提供了哪個服務這麼一個簡單的資訊。
SRV 記錄:一般是為Microsoft的活動目錄設定時的應用。DNS可以獨立於活動目錄,但是活動目錄必須有DNS的幫助才能工作。
為了活動目錄能夠正常的工作,DNS伺服器必須支援服務定位(SRV)資源記錄,資源記錄把服務名字對映為提供服務的伺服器名字。
活動目錄客戶和域控制器使用SRV資源記錄決定域控制器的IP地址。
一般情況下,我們連線只需要連線主庫查資料,所以選擇獨立的這個連線方式就可以,填寫好常規引數可以點選測試連線是否正常,即可連線!
作者:追逐時光者
作者簡介:一個熱愛程式設計,善於分享,喜歡學習、探索、嘗試新事物,新技術的程式猿。
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。如果該篇文章對您有幫助的話,可以點一下右下角的【♥推薦♥】,希望能夠持續的為大家帶來好的技術文章,文中可能存在描述不正確或錯誤的地方,歡迎指正、補充,不勝感激 !