MongoDB簡介:MongoDB是一個基于分布式文件存儲的數據庫 。由C++語言編寫 。旨在為WEB應用提供可擴展的高性能數據存儲解決方案 。是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的 。它支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型 。MongoDB最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引 。
查看可用的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

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

文章插圖

文章插圖
解決無法正常執行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官網解決方案:
https://github.com/docker-library/mongo/issues/558
mongo5.0以上的版本使用mongo來執行mongodb命令已經不支持了,你需要改用mongosh來替代mongo!

文章插圖
添加MongoDB連接用戶和密碼:1、進入創建的MongoDB容器docker exec -it mongo-test mongosh

文章插圖
2、創建MongoDB用戶#進入 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"}] })
經驗總結擴展閱讀
- 電熱地板的安裝方法是什么 電熱地板的優缺點有哪些
- 2023年2月11日安裝房門行嗎 2023年2月11日安裝房門好嗎
- 2023年2月11日安裝柱子好不好 2023年2月11日是安裝柱子吉日嗎
- 2023年農歷正月廿一宜安裝門戶嗎 2023年2月11日安裝門戶行嗎
- 2023年2月11日安裝門框吉日一覽表 2023年2月11日是安裝門框的黃道吉日嗎
- mongodb基礎整理篇————副本概念篇[外篇]
- Docker | 發布鏡像到鏡像倉庫
- 2023年2月11日安裝家電行嗎 2023年2月11日是安裝家電的黃道吉日嗎
- 2023年農歷正月廿一安裝窗簾吉日 2023年2月11日安裝窗簾好不好
- 2023年2月11日安裝機器行嗎 2023年2月11日是安裝機器吉日嗎
