使用Docker容器部署MongoDB并支持遠(yuǎn)程訪問及遇到的坑
由于使用寶塔面板來配置MongoDB
的BUG太多,實在受不了,今天心血來潮想要使用Docker容器來進行部署。本來以為也就二三十分鐘的事情結(jié)果踩坑踩了將近兩個小時,不過萬幸還是成功部署上了
Docker & MongoDB
在開始講之前,我們需要知道Docker
和MongoDB
是什么,雖然這兩個工具已經(jīng)非常流行,但可能還是有讀者不知道其詳細(xì)概念
Docker
Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows操作系統(tǒng)的機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
MongoDB
MongoDB是一個基于分布式文件存儲[1]的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。
MongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。
使用Docker部署MongoDB
Docker的安裝請參照其他文章
在進入我們服務(wù)器的終端后就可以開始操作了,首先我們要拉取最新的mongo
鏡像
$ docker pull mongo:latest
使用docker images
來檢查是否成功拉取鏡像
$ docker images
接下來我們就可以讓鏡像跑起來并跑在27017端口
若跑在其他端口會有坑,后面講
$ docker run -itd --name mongo -p 27017:27017 mongo
我們可以使用docker ps
來驗證是否已經(jīng)跑起來了,下一步我們直接進入容器中
$ docker exec -it mongo /bin/bash
接下來我們不慌著直接使用mongo
命令,因為直接使用的話就會踩坑。我們的目的是部署了MongoDB
并能讓其支持遠(yuǎn)程訪問,所以我們需要先去更改它的配置文件,更改配置文件需要使用到vim
,所以我們還需要下載vim
,但我們知道,直接下載的話非常緩慢,所以我們還得給容器換一個源
容器中換源
正則替換成阿里的鏡像可以快速update
$ sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list $ sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list $ apt clean $ apt-get update -y
更改配置
接下來就可以下載vim
并更改配置了
$ apt-get install vim $ vim /etc/mongod.conf.orig
進入到配置我們中將其中的bindIp: 127.0.0.1
注釋掉# bindIp: 127.0.0.1
,或改成0.0.0.0
即可。除此之外,若你MongoDB
部署的端口不是27017,也應(yīng)該進行替換(坑點之一,對應(yīng)上文)
在這之后就可以進行連接了
開放端口
我們需要開放端口并還需在服務(wù)器添加安全組策略,若兩個中有一個沒開都是訪問不到的
到此這篇關(guān)于使用Docker容器部署MongoDB并支持遠(yuǎn)程訪問及遇到的坑的文章就介紹到這了,更多相關(guān)Docker部署MongoDB內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。