手把手教你用Docker部署一个MongoDB集群
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了手把手教你用Docker部署一个MongoDB集群,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2952字,纯文字阅读大概需要5分钟。
内容图文
![手把手教你用Docker部署一个MongoDB集群](/upload/InfoBanner/zyjiaocheng/561/e47490122d1b45d18b48b702d5843727.jpg)
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的。支持类似于面向对象的查询语言,几
【编者的话】MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的。支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。本文介绍了如何使用Docker搭建MongoDB集群。
本文我会向大家介绍如何使用Docker部署一个MongoDB集群,具体如下:
首先要准备三个运行的Docker服务器,这意味着你要准备一个安装了Docker的本地Vagrant Box虚拟机(系统可以使用CoreOS)或者使用AWS或者其它的你喜欢的方式。
步骤 Step1你要拿到3台Docker服务器的IP地址,并且将下面给出的IP地址配置到所有的服务器上面,每一台服务器都要执行如下命令(记得要替换掉IP地址哦):
root@node root@node理想情况下你并不需要这么做,这些IP都是可以通过DNS自动配置好的。但是这样会更加简单,,毕竟这只是一次安装测试。
Step2为每个节点创建密钥文件。在其中某一台服务器上面执行如下的命令,然后把密钥文件复制到其余两个服务器的同样的位置。
在这个教程中,我将把所有的东西都放在“/home/core”文件夹中。
core root@node core root@node keyfile root@node keyfile root@node这个密钥文件的所有者被设置成id为“999”的用户了,因为在MongoDB的Docker容器中,这个用户需要有操作密钥文件的权限。
Step3启动node1(即第一台Docker服务器)的MongoDB容器。它会启动一个没有身份验证机制的容器,所以我们要设置一个用户。
name mongo db keyfile现在创建一个admin用户。我们可以连接到刚刚启动的mongoDB容器,并进入一个交互式的shell环境.
这时候,我们就进到MongoDB的Docker容器里面了,然后我们要打开一个mongo shell环境:
上面的命令可以打开mongo shell环境。执行后你会看到这样的输出:
connecting to: test see http http切换到admin用户:
admin switched to db admin创建一个新的site admin 用户
user pwd roles创建成功的话你会看到如下的成功信息:
{ } ]}
创建一个root用户:
user pwd roles你会看到如下的成功信息:
{ } ]}
我们已经创建好了我们以后要使用的几个用户,现在我们不会退出交互式shell环境(mongo和Docker容器的环境)。
bye root@node1 Step4停止第一个MongoDB实例:
Step5这次使用密钥文件启动第一台MongoDB实例(还是在node1上面操作的)。
root@node1:/# docker rm mongo root@node1:/# docker run --name mongo db keyfile --smallfiles keyfile注意:
连接到副本集上并且安装配置好它。这还是在node1上面进行的。我们要开启另外一个新的交互式shell环境进入mongo容器,同时开启一个mongo shell环境:
bash root@node1:/# mongo切换到admin用户下:
admin switched to db admin因为我们已经设置了一个密码,所以这次我们不得不做身份验证。我们把密码设置为:password。
现在我们可以开启副本集:
Step7验证已经初始化的副本集的配置:
> rs0 r { } ]} Step8
在其余的两个节点启动MongoDB。
内容总结
以上是互联网集市为您收集整理的手把手教你用Docker部署一个MongoDB集群全部内容,希望文章能够帮你解决手把手教你用Docker部署一个MongoDB集群所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。