docker部署MongoDB數(shù)據(jù)庫的實(shí)現(xiàn)步驟
最近由于工作需要搭建MongoDB數(shù)據(jù)庫,將解析的車端采集的數(shù)據(jù)寫入到數(shù)據(jù)庫,由于MongoDB高可用、海量擴(kuò)展、靈活數(shù)據(jù)的模型,因此選用MongoDB數(shù)據(jù)庫;由于現(xiàn)公司只有服務(wù)器,因此考慮容器化部署MongoDB數(shù)據(jù),特此記錄一下~
一、鏡像拉取
使用如下命令拉取最新MongoDB鏡像
docker pull mongo

二、創(chuàng)建MongoDB容器
2.1 創(chuàng)建宿主機(jī)目錄
執(zhí)行如下代碼:
mkdir -p /home/bigdata/mongodb_bigdata/data mkdir -p /home/bigdata/mongodb_bigdata/conf mkdir -p /home/bigdata/mongodb_bigdata/logs
創(chuàng)建這幾個目錄的原因是:
將docker容器掛載的宿主機(jī)目錄與容器內(nèi)部的的路徑進(jìn)行映射,相當(dāng)于對容器的數(shù)據(jù)做了一個backup。容器銷毀時(shí),可以通過宿主機(jī)目錄對容器的數(shù)據(jù)進(jìn)行恢復(fù)。
2.2 創(chuàng)建docker容器
執(zhí)行如下命令:
docker run -dit --name mongodb -p 27019:27017 \ -v /home/bigdata/mongodb_bigdata/data:/data/db \ -v /home/bigdata/mongodb_bigdata/conf:/data/configdb \ -v /home/bigdata/mongodb_bigdata/logs:/data/log/ \ --restart always -d mongo
2.3 啟動容器
執(zhí)行如下命令
docker exec -ti mongodb /bin/bash
執(zhí)行上述命令后就進(jìn)入到容器內(nèi)部
2.4 創(chuàng)建賬號
進(jìn)入到容器內(nèi)部后,使用命令mongosh進(jìn)入到命令行執(zhí)行頁面:

進(jìn)入到admin

創(chuàng)建超級管理員賬號
db.createUser({user:"root",pwd:"123456",roles:[{role:'root',db:'admin'}]}) 
創(chuàng)建bigdata_db庫并創(chuàng)建用戶
# 創(chuàng)建庫
use bigdata_db;
# 創(chuàng)建讀寫帳號
db.createUser(
{
user: "bigdata_rw",
pwd: "11111111",
roles: [
{ role: "readWrite", db: "bigdata_db" }
]
}
)
三、案例
3.1 python鏈接mongodb庫
# ------------------------------ mongodb連接信息配置 -------------------------------
# 讀寫
username = 'bigdata_rw'
password = '2222'
ip = 'xx.xxx.xx.xx'
port = 27019
database = 'bigdata_db'
mongodb_info = f"mongodb://{username}:{password}@{ip}:{port}/{database}"
# ---------------------------------------------------------------------------------
connection = pymongo.MongoClient(mongodb_info)
# 鏈接
db_name = connection['bigdata_db']
collection_name = db_name[mongodb_table_name]
# 查詢結(jié)果
result_data = collection_name.find()
for i in result_data:
print('the i is :', i)3.2、其他
1、新創(chuàng)建的容器沒辦法使用vim及l(fā)l等命令,可進(jìn)行如下操作:
apt-get update apt-get install vim
中途遇到y(tǒng)/n直接enter就行。
如果還有其他的系統(tǒng)命令,可以執(zhí)行apt-get install進(jìn)行安裝。
2、 ll的配置
vim ~/.bashrc # 進(jìn)入到編輯頁面,添加如下內(nèi)容: alias ll='ls -l' # 使命令生效 source ~/.bashrc
到此這篇關(guān)于docker部署MongoDB數(shù)據(jù)庫的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)docker部署MongoDB 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Dockerfile中yum install無法使用的問題及解決
在使用Dockerfile自定義CentOS 7容器過程中,可能會遇到容器內(nèi)無法使用yum命令的問題,首先,確認(rèn)主機(jī)是否能聯(lián)網(wǎng),其次,檢查在Dockerfile打包新容器時(shí),容器是否能聯(lián)網(wǎng),若發(fā)現(xiàn)容器無法聯(lián)網(wǎng),一種解決方法是編輯/etc/docker/daemon.json文件2024-11-11
docker kubernetes dashboard安裝部署詳細(xì)介紹
這篇文章主要介紹了docker kubernetes dashboard安裝部署詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-10-10
springboot整合docker部署實(shí)現(xiàn)兩種構(gòu)建Docker鏡像方式
這篇文章主要介紹了springboot整合docker部署實(shí)現(xiàn)兩種構(gòu)建Docker鏡像方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
docker實(shí)現(xiàn)部署jar包項(xiàng)目教程(包括單個和多個一起部署)
文章介紹了Docker部署Spring Boot項(xiàng)目的方法,涵蓋單個jar包的打包、Dockerfile編寫及運(yùn)行,多個jar包通過啟動腳本同時(shí)部署的技巧,并建議在部署復(fù)雜或數(shù)量多時(shí)使用Docker Compose或K8s統(tǒng)一管理2025-07-07
無網(wǎng)絡(luò)docker鏡像遷移的實(shí)現(xiàn)
本文主要介紹了無網(wǎng)絡(luò)docker鏡像遷移的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-06-06

