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

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

​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

如下图:

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

参数解释:

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

如下图:

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

二、使用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
>
上一篇:vue项目中打包编译后,CSS样式【-webkit-box-orient: vertical】打包后丢失问题


下一篇:[转]一些NSArray,NSDictionary,NSSet相关的算法知识