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

如何使用Docker安裝一個MongoDB最新版

 更新時間:2020年07月07日 09:08:25   作者:南瓜慢說  
這篇文章主要介紹了如何使用Docker安裝一個MongoDB最新版,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1 安裝

本文假設(shè)大家已經(jīng)安裝好了docker并能正常使用,所以不講解如何安裝docker了。用docker安裝MongoDB最新版本如下:

# 從repository查找mongo的相關(guān)鏡像,結(jié)果很多,其中第一條為官方的鏡像
$ docker search mongo
# 下載官方鏡像的最新版本
$ docker pull mongo:latest
# 完成后,檢查是否下載成功
$ docker images
REPOSITORY   TAG     IMAGE ID   CREATED    SIZE
centos    7     5e35e350aded  12 days ago   203MB
mongo    latest    965553e202a4  3 weeks ago   363MB
hello-world   latest    fce289e99eb9  10 months ago  1.84kB

僅需要簡單幾個命令,我們就擁有了MongoDB的最新鏡像了,后續(xù)就可以使用了。

2 啟動

完成MongoDB的鏡像下載后,啟動就非常簡單了,一個命令即可:

$ docker run -itd --name mongo -p 27017:27017 mongo --auth
305ebd8236678905d16dd76e75dcf99fdd812be6b13c240acece7985d29b316c

(1)--name后面的參數(shù)為docker容器名;

(2)-p后面是端口映射,即宿主端口:容器端口;

(3)--auth是否開始鑒權(quán),如果不想開啟可以去掉;

成功啟動MongoDB一個實例后,會返回容器ID,如305ebd8236678905d16dd76e75dcf99fdd812be6b13c240acece7985d29b316c

通過命令docker ps可以查看正在運行的容器,經(jīng)過檢查,確實已經(jīng)起來了。

注意:默認(rèn)數(shù)據(jù)是存在容器系統(tǒng)的/data/db目錄下的,如果需要使用自定義的宿主機器目錄,可以在啟動命令加上參數(shù):

-v /my/own/datadir:/data/db

3 創(chuàng)建用戶與集合

3.1 進(jìn)入容器

容器起來后,下一步是進(jìn)入容器:

# 進(jìn)入容器可以用以下兩種方法
# 分別是通過容器名和容器ID
$ docker exec -it mongo bash
$ docker exec -it 305ebd823667 bash

上面進(jìn)入容器后,其實是進(jìn)入了容器的系統(tǒng),并打開bash。

3.2 通過客戶端命令連接數(shù)據(jù)庫

接著通過mongo命令連接到MongoDB的數(shù)據(jù)庫服務(wù)。

# 默認(rèn)連接本地的27017端口的MongoDB
$ mongo
# 指定IP與端口進(jìn)行連接
$ mongo 127.0.0.1:27017
# 指定用戶名和密碼連接到指定的MongoDB數(shù)據(jù)庫
$ mongo 127.0.0.1:27017/admin -u user -p password

連接數(shù)據(jù)庫成功后,會返回一些信息,如SeesionID和版本號等。

3.3 查看版本

(1)在linux命令通過mongo --version查詢;

(2)連接上數(shù)據(jù)庫后,通過db.version()查詢。

root@305ebd823667:/# mongo --version
MongoDB shell version v4.2.1
git version: edf6d45851c0b9ee15548f0f847df141764a317e
OpenSSL version: OpenSSL 1.1.1 11 Sep 2018

root@305ebd823667:/# mongo
> db.version()
4.2.1

3.4 創(chuàng)建admin管理用戶

連上數(shù)據(jù)庫后,我們先創(chuàng)建一個admin用戶,用以管理其它用戶:

> use admin
switched to db admin
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
Successfully added user: {
	"user" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}
> 

3.5 創(chuàng)建具有讀寫權(quán)限的用戶

根據(jù)業(yè)務(wù)需求,創(chuàng)建不用的用戶,如下面創(chuàng)建擁有讀寫權(quán)限的用戶user:

> db.auth('admin','123456');
1
> db.createUser({ user:'user',pwd:'123456',roles:[ { role:'readWrite', db: 'testdb'}]});
Successfully added user: {
	"user" : "user",
	"roles" : [
		{
			"role" : "readWrite",
			"db" : "testdb"
		}
	]
}
> 

3.6 認(rèn)證用戶并操作

> db.auth('user','123456')
1
> use testdb
switched to db testdb
> 
> db.person.insert({name:'Larry',age:18})
WriteResult({ "nInserted" : 1 })
> db.person.find({})
{ "_id" : ObjectId("5ddaa14edbbac3c4f844366c"), "name" : "Larry", "age" : 18 }
> 

4 兩款優(yōu)秀的可視化工具

通過前面的操作,我們已經(jīng)建立了用戶,并嘗試創(chuàng)建了數(shù)據(jù)庫和集合。但通過命令行來操作總是不那么方便,我們需要可視化軟件來進(jìn)行操作。下面將介紹兩款優(yōu)秀的可視化軟件,展示如何連接。如何進(jìn)行CRUD等操作就不一一介紹了,還是比較友好的,容易使用。

4.1 Robo3T

官網(wǎng)

創(chuàng)建連接:

注意下面填的是鑒權(quán)數(shù)據(jù)庫,而不是用戶的數(shù)據(jù)庫:

操作界面:

4.2 IDEA Mongo Plugin

GitHub官網(wǎng)

這個是支持JetBrains全系列軟件的插件,IDEA當(dāng)然也可以安裝。

連接設(shè)置:

注意下面的User Database是該用戶下的數(shù)據(jù)庫,寫錯了會連不上。

注意下面Auth Database為鑒權(quán)的數(shù)據(jù)庫,默認(rèn)為admin。

操作界面:

總結(jié)

本文介紹了通過Docker安裝最新版的MongoDB,并通過例子演示了如何運行和創(chuàng)建用戶與集合,最后還介紹了兩款非常友好的可視化工具,希望能帶沒有接觸過的人入個門吧。

相關(guān)文章

  • MongoDB查詢之高級操作詳解(多條件查詢、正則匹配查詢等)

    MongoDB查詢之高級操作詳解(多條件查詢、正則匹配查詢等)

    這篇文章主要給大家介紹了關(guān)于MongoDB查詢之高級操作(多條件查詢、正則匹配查詢等)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 關(guān)于對MongoDB索引的一些簡單理解

    關(guān)于對MongoDB索引的一些簡單理解

    索引的作用是為了提升查詢效率,如果查詢條件帶有索引,MongoDB 將掃描索引, 通過索引確定要查詢的部分文檔,而非直接對全部文檔進(jìn)行掃描,下面這篇文章主要給大家介紹了關(guān)于對MongoDB索引的一些簡單理解,需要的朋友可以參考下
    2021-09-09
  • MongoDB使用小結(jié):一些不常見的經(jīng)驗分享

    MongoDB使用小結(jié):一些不常見的經(jīng)驗分享

    最近一年忙碌于數(shù)據(jù)處理相關(guān)的工作,跟MongoDB打交道極多,以下為實踐過程中的Q&A,后續(xù)會不定期更新補充
    2017-03-03
  • 基于MongoDB數(shù)據(jù)庫的數(shù)據(jù)類型和$type操作符詳解

    基于MongoDB數(shù)據(jù)庫的數(shù)據(jù)類型和$type操作符詳解

    下面小編就為大家?guī)硪黄贛ongoDB數(shù)據(jù)庫的數(shù)據(jù)類型和$type操作符詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 通用MapReduce程序復(fù)制HBase表數(shù)據(jù)

    通用MapReduce程序復(fù)制HBase表數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了通用MapReduce程序復(fù)制HBase表數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • MongoDB插入數(shù)據(jù)的3種方法

    MongoDB插入數(shù)據(jù)的3種方法

    在MongoDB中,db.collection.insert()方法添加一個新文檔到集合中。另外,db.collection.update()方法和db.collection.save()方法也能通過upsert操作添加新文檔。upsert操作執(zhí)行更新現(xiàn)有文檔或者當(dāng)文檔不存在時插入一個新文檔。
    2014-05-05
  • Mongodb聚合函數(shù)count、distinct、group如何實現(xiàn)數(shù)據(jù)聚合操作

    Mongodb聚合函數(shù)count、distinct、group如何實現(xiàn)數(shù)據(jù)聚合操作

    Mongodb中自帶的基本聚合函數(shù)有三種:count、distinct和group。下面我們分別來講述一下這三個基本聚合函數(shù)及如何實現(xiàn)數(shù)據(jù)聚合操作,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • 2021最新版windows10系統(tǒng)MongoDB數(shù)據(jù)庫安裝及配置環(huán)境

    2021最新版windows10系統(tǒng)MongoDB數(shù)據(jù)庫安裝及配置環(huán)境

    這篇文章主要介紹了2021最新版MongoDB數(shù)據(jù)庫安裝及配置環(huán)境(windows10系統(tǒng)),本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • mongodb eval 執(zhí)行服務(wù)器端腳本

    mongodb eval 執(zhí)行服務(wù)器端腳本

    在MongoDB的服務(wù)器端可以通過db.eval函數(shù)來執(zhí)行javascript腳本,如我們可以定義一個javascript函數(shù),然后通過db.eval在服務(wù)器端來運行!我們前面其實也接觸過在服務(wù)器段運行一個預(yù)定義的javascript腳本的情況,如在$where查詢,執(zhí)行mapreduce任務(wù)等。
    2015-05-05
  • MongoDB實現(xiàn)基于關(guān)鍵詞的文章檢索功能(C#版)

    MongoDB實現(xiàn)基于關(guān)鍵詞的文章檢索功能(C#版)

    這篇文章主要介紹了MongoDB實現(xiàn)基于關(guān)鍵詞的文章檢索功能(C#版)的相關(guān)資料,需要的朋友可以參考下
    2016-04-04

最新評論