一、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 >



