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
>
Linux平台安装MongoDB及使用Docker安装MongoDB的更多相关文章
- 【MongoDB】用Docker安装一个MongoDB最新版玩玩
		1 安装 本文假设大家已经安装好了docker并能正常使用,所以不讲解如何安装docker了.用docker安装MongoDB最新版本如下: # 从repository查找mongo的相关镜像,结果很 ... 
- MongoDb Windows linux平台环境及主流编程语言驱动安装同时配置mongoDb的远程连接
		<一,>MongoDB 简介篇Ruiy; MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值 ... 
- linux小白成长之路7————Docker安装mysql
		[内容指引] 从Docker检索mysql镜像: Mysql Docker镜像下载: 查看本地镜像列表: 设置Mysql的Docker镜像开机自动运行: 常用Docker指令及参数: 1.从Docke ... 
- linux平台进行c语言源码安装
		安装c源程序的步骤: 1. ./configure --prefix 执行编译检测 指定安装路径 2. make 编译 3. sudo make install 编译后安装 前两步可以合成一步(mak ... 
- Linux平台上轻松安装与配置Domino
		Linux平台上轻松安装与配置Domino Domino Server的编译安装过程中需要用到libstdc++-2.9和glibc-2.1.1(或者其更高的版本)两个编译模块,它们是Linux开发编 ... 
- Docker01 centos系统安装、centos安装docker、docker安装mongoDB
		1 centos系统安装 本博文是基于 centos6.5 的,利用VMware 虚拟机搭建 centos6.5 系统 1.1 centos6.5资源获取 1.2 安装 1.2.1 新建虚拟机 1.2 ... 
- 【记录】linux  docker 安装 tomcat
		前言:首先linux需要先安装docker,具体步骤可以参考博主之前博客,也可自行百度. 话不多说,开始安装tomcat: 通过docker安装tomcat docker pull tomcat:8. ... 
- Docker 安装及配置镜像加速
		Docker 版本 随着 Docker 的飞速发展,企业级功能的上线,更好的服务意味着需要支付一定的费用,目前 Docker 被分为两个版本: community-edition 社区版 enterp ... 
- Docker安装步骤
		在学习springcloud的消息总线时,需要安装rabbitmq,因为rabbitmq是用erlang开发的,所以安装rabbitmq又需要先安装erlang,总之安装过程中遇到各种坑,然而最终还是 ... 
随机推荐
- python基础之函数式编程
			一.定义: 函数作为参数作用:将核心逻辑传入方法体,使该方法的适用性更广,体现了面向对象的开闭原则: 函数作为返回值作用:逻辑连续,当内部函数被调用时,不脱离当前的逻辑. 二.高阶函数: 1.定义:将 ... 
- Python基础之函数参数
			一.实参 1.实参分类: 2.实参基础代码: def fun01(a, b, c): print(a) print(b) print(c) # 位置传参:实参与形参的位置依次对应 fun01(1, 2 ... 
- C语言常用的编程规范
			1排版 1-1相对独立的程序块之间.变量说明之后必须加空行. 示例:如下例子不符合规范. if (!valid_ni(ni)) { ... // program code } repssn_ind = ... 
- 如何修改image文件
			方法一:mount成为一个loop device 参考http://smilejay.com/2012/08/mount-an-image-file/ 方法一:找出分区开始的开始位置,使用mount命 ... 
- 我们为什么要搞长沙.NET技术社区(三)
			我们为什么要搞长沙.NET技术社区(三) 万事先从饭局开始是中华民族留下来的一个优秀的传统美德. 昨天晚餐时间,长沙 .net 技术社区的主要发起人员进行了一番小聚,同时也作为一个非正式会议,对社区发 ... 
- 深入理解Spring Redis的使用 (六)、用Spring Aop 实现注解Dao层的自动Spring Redis缓存
			摘要: 主要针对Dao层的一些数据库查询的操作,数据实时性不强,直接加入缓存.当缓存中有的时候,就使用缓存中的数据.这样的方法,最终仅仅使用一个注解实现.对于之前的hibernate二级缓存使用,比较 ... 
- Centos7  Nginx开机启动
			1.简易安装nginx: ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf ... 
- Visual Studio 2017中使用SourceLink调试ASP.NET Core源码
			背景 当我们在学习ASP.NET Core或者调试ASP.NET Core程序的时候,有时候需要调试底层代码,但是当我们在Visual Studio中调试程序的时候,由于一些基础库或者第三方库缺少pd ... 
- Leetcode:338. Bit位计数
			Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the ... 
- Python进阶:迭代器与迭代器切片
			2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是 ... 
