一步一步教你搭建基于docker的MongoDB复制集群环境
1.安装docker
2.创建MongoDB的Image
3.搭建MongoDB的集群
本文——-链—–接
http://blog.csdn.net/pddddd/article/details/46893593
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中。
1.ubuntu14.04安装docker
参考文档 http://docs.docker.com/installation/ubuntulinux/
参考文档 http://docs.docker.com/mac/started/
pc@pc-ThinkPad:~$ wget -qO-https://get.docker.com/ | sh
pc@pc-ThinkPad:~$ sudo usermod -aG docker pc
pc@pc-ThinkPad:~$ sudo reboot
如果是其他(更早)版本的Linux参考
安装Docker使用apt-get命令:
$ apt-get install docker.io
启动服务和守护进程
$ service docker.io status
$ service docker.io start
创建软连接:ln -sf /usr/bin/docker.io /usr/local/bin/docker
如没有提示错误则说明你已经在Ubuntu14.04上面快速安装Docker成功了。
卸载Uninstallation
$ sudo apt-get purge lxc-docker
To uninstall the Docker package and dependencies that are no longer needed:
$ sudo apt-get autoremove --purge lxc-docker
2.创建MongoDB的Image
pc@pc-ThinkPad:~$ docker pull ubuntu:14.04
pc@pc-ThinkPad:~$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 14.04 6d4946999d4f 3 weeks ago 188.3 MB
pc@pc-ThinkPad:~$
编写dockerfile
pc@pc-ThinkPad:~$ vim Dockerfile
Dockerfile内容如下
#VERSION 0.1.0
FROM ubuntu:14.04
#Install some
RUN apt-get clean
RUN apt-get update
RUN apt-get install -y g++
RUN apt-get install -y openssh-server
RUN mkdir -p /var/run/sshd
#open port 22
EXPOSE 22
#CMD ["/usr/sbin/sshd", "-D"]
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
ENV MONGO_MAJOR 3.0
RUN echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/$MONGO_MAJOR main" > /etc/apt/sources.list.d/mongodb-org.list
# Install MongoDB
RUN apt-get update
RUN sudo apt-get install -y mongodb-org=3.0.4 mongodb-org-server=3.0.4 mongodb-org-shell=3.0.4 mongodb-org-mongos=3.0.4 mongodb-org-tools=3.0.4
# Create the MongoDB data directory
RUN mkdir -p /data/db
#open port 27017
EXPOSE 27017
ENTRYPOINT ["usr/bin/mongod"]
写好了Dockerfile 就可以生成带有mongodb的image :后面是flag .表示当前路径的Dockerfile
pc@pc-ThinkPad:~$ sudo docker build -t pc/mongos:master .
再次查看一下docker image
pc@pc-ThinkPad:~$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
pc/mongod master 6fcc1b62e091 54 minutes ago 542 MB
ubuntu 14.04 6d4946999d4f 4 weeks ago 188.3 MB
3.搭建MongoDB的集群
下面我们就启动3个基于mongod:master的container
pc@pc-ThinkPad:~$ sudo docker run --name rs_server1 -p 21117:27017 -d pc/mongod:master --noprealloc --smallfiles --replSet rs1
操作成功之后返回的就是容器的id
6306bf3057f8ebca79d7bd130ba35e260da7177925a85a1c9a3d5d21c551e0aa
后面两个容器同理
pc