码迷,mamicode.com
首页 > 数据库 > 详细

[原创]在Docker上部署mongodb分片副本集群。

时间:2016-12-17 20:29:40      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:conf   host   har   bsp   情况   ssh   rds   file   href   

一、安装docker。

请参考:http://www.cnblogs.com/hehexiaoxia/p/6150584.html

二、编写dockerfile。

#在根目录下创建dockerfile。

$ vi dockerfile

#version 1.0
from ubuntu
#maintainer 
maintainer hdx

#install 
run apt-get clean
run apt-get update
run apt-get install -y vim
run apt-get install -y openssh-server
run mkdir -p /var/run/sshd

#open port 22 20001
expose 22
expose 20001
#cmd ["/usr/sbin/sshd","-D"]

run apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

run echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.2 main">/etc/apt/sources.list.d/mongodb-org.list
#install mongodb
run apt-get update
run apt-get install -y mongodb-org
#create the mongodb data directory
run mkdir -p /data/db
entrypoint ["usr/bin/mongod"]

三、通过dockerfile生成一个image镜像。

$ sudo docker build -t  ubuntu/mongo:latest -</dockerfile

查看image的生成情况。

$ sudo docker images 

1 REPOSITORY      TAG       IMAGE ID        CREATED     VIRTUAL SIZE
2 ubuntu/mongo  latest   522eeeae18e5    54 minutes ago      

发现image已经生成,可以通过image来创建容器了。

四、通过image镜像构建mongo集群。

1、创建2个shardsvr,每个shardsvr包含3个副本,其中1个主节点,1个从节点,1个仲裁节点。

-d 表示后台运行

-p 绑定host主机与docker的端口,第一个20001代表host主机端口,第二个代表对应的docker端口,绑定后可以通过调用host主机ip:port来访问docker的mongodb。

$ sudo docker run -d -p 20001:20001 --name rs1_container1 ubuntu/mongo:lastest --shardsvr --port 20001 --replSet rs1

$ sudo docker run -d -p 20002:20001 --name rs1_container2 ubuntu/mongo:lastest --shardsvr --port 20001 --replSet rs1
$ sudo docker run -d -p 20003:20001 --name rs1_container3 ubuntu/mongo:lastest --shardsvr --port 20001 --replSet rs1

$ sudo docker run -d -p 20011:20001 --name rs2_container1 ubuntu/mongo:lastest --shardsvr --port 20001 --replSet rs2
$ sudo docker run -d -p 20012:20001 --name rs2_container2 ubuntu/mongo:lastest --shardsvr --port 20001 --replSet rs2
$ sudo docker run -d -p 20013:20001 --name rs2_container3 ubuntu/mongo:lastest --shardsvr --port 20001 --replSet rs2

2、创建2个configsvr。
$ sudo docker run -d -p 21001:20001 --name config_container1 ubuntu/mongo:lastest --configsvr --port 20001
$ sudo docker run -d -p 21002:20001 --name config_container2 ubuntu/mongo:lastest --configsvr --port 20001 

3、启动2个mongos服务。

 

未完待续。

 

[原创]在Docker上部署mongodb分片副本集群。

标签:conf   host   har   bsp   情况   ssh   rds   file   href   

原文地址:http://www.cnblogs.com/hehexiaoxia/p/6192796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!