Linux平台安裝MongoDB及使用Docker安裝MongoDB


一、Linux平台安裝MongoDB

MongoDB 提供了 linux 各發行版本 64 位的安裝包,你可以在官網下載安裝包。

下載地址:https://www.mongodb.com/download-center#community

1.下載安裝包,並解壓 tgz(以下演示的是 64 位 Linux上的安裝) 。

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz    # 下載
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz                                   # 解壓

mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb                         # 將解壓包拷貝到指定目錄

2、創建mongodb安裝文件夾、數據文件夾和日志文件(mongodb、data、logs);

# cd /

# mkdir /usr/local/mongodb

# mkdir /usr/local/mongodb/data

# touch /usr/local/mongodb/logs

3、將mongodb移動到/usr/local/mongdb文件夾下並重命名為mongodb2.0.4

# mv mongodb-linux-x86_64-2.0.4 /usr/local/mongodb mongodb2.0.4

​4、設置開機自啟動,將mongodb啟動項目追加入rc.local保證mongodb在服務器開機時啟動;

# echo "/usr/local/mongodb/mongodb2.0.4/bin/mongod 

 --dbpath=/usr/local/mongodb/data 

--logpath=/usr/local/mongodb/logs 

 --logappend  --auth --port=27017" >> /etc/rc.local

5、啟動mongodb,cd到mongodb2.0.4目錄下的bin文件夾啟動Mongodb

# ./mongod --dbpath=/usr/local/mongodb/data 

--logpath=/usr/local/mongodb/logs 

--logappend --port=27017 --fork

如下圖:

參數解釋: 

--dbpath 數據庫路徑(數據文件)

--logpath 日志文件路徑

--logappend 日志文件末尾添加

--port 啟用端口號

--fork 在后台運行

注:若啟動報異常error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory,執行以下命令:

for 32bit

[root@localhost bin]# ln -sf /usr/lib/libssl.so.10 /usr/lib/libssl.so.6

[root@localhost bin]# ln -sf /usr/lib/libcrypto.so.10 /usr/lib/libcrypto.so.6

for 64bit

[root@localhost bin]# ln -sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6

[root@localhost bin]# ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6

6、進入數據庫的CLI管理界面,cd到mongodb目錄下的bin文件夾,執行命令./mongo

運行如下:

[root@localhost ~]# cd /usr/local

[root@localhost local]# cd mongodb/mongodb2.0.4/bin

[root@localhost bin]# ./mongo

MongoDB shell version: 2.0.4

connecting to: test

> use test

switched to db test

如下圖:

二、使用Docker安裝MongoDB

查找Docker Hub上的mongo鏡像

runoob@runoob:~/mongo$ docker search mongo
NAME                              DESCRIPTION                      STARS     OFFICIAL   AUTOMATED
mongo                             MongoDB document databases ...   1989      [OK]       
mongo-express                     Web-based MongoDB admin int...   22        [OK]       
mvertes/alpine-mongo              light MongoDB container          19                   [OK]
mongooseim/mongooseim-docker      MongooseIM server the lates...   9                    [OK]
torusware/speedus-mongo           Always updated official Mon...   9                    [OK]
jacksoncage/mongo                 Instant MongoDB sharded cluster  6                    [OK]
mongoclient/mongoclient           Official docker image for M...   4                    [OK]
jadsonlourenco/mongo-rocks        Percona Mongodb with Rocksd...   4                    [OK]
asteris/apache-php-mongo          Apache2.4 + PHP + Mongo + m...   2                    [OK]
19hz/mongo-container              Mongodb replicaset for coreos    1                    [OK]
nitra/mongo                       Mongo3 centos7                   1                    [OK]
ackee/mongo                       MongoDB with fixed Bluemix p...  1                    [OK]
kobotoolbox/mongo                 https://github.com/kobotoolb...  1                    [OK]
valtlfelipe/mongo                 Docker Image based on the la...  1                    [OK]

這里我們拉取官方的鏡像,標簽為3.2

runoob@runoob:~/mongo$ docker pull mongo:3.2

等待下載完成后,我們就可以在本地鏡像列表里查到REPOSITORY為mongo,標簽為3.2的鏡像

使用mongo鏡像

運行容器

runoob@runoob:~/mongo$ docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo:3.2
cda8830cad5fe35e9c4aed037bbd5434b69b19bf2075c8626911e6ebb08cad51
runoob@runoob:~/mongo$

命令說明:

-p 27017:27017 :將容器的27017 端口映射到主機的27017 端口

-v $PWD/db:/data/db :將主機中當前目錄下的db掛載到容器的/data/db,作為mongo數據存儲目錄

查看容器啟動情況

runoob@runoob:~/mongo$ docker ps 
CONTAINER ID   IMAGE        COMMAND                   ...    PORTS                      NAMES
cda8830cad5f   mongo:3.2    "/entrypoint.sh mongo"    ...    0.0.0.0:27017->27017/tcp   suspicious_goodall

使用mongo鏡像執行mongo 命令連接到剛啟動的容器,主機IP為172.17.0.1

runoob@runoob:~/mongo$ docker run -it mongo:3.2 mongo --host 172.17.0.1
MongoDB shell version: 3.2.7
connecting to: 172.17.0.1:27017/test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
  http://docs.mongodb.org/
Questions? Try the support group
  http://groups.google.com/group/mongodb-user
>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM