Docker使用supervisor启动MongoDB-创新互联
Docker的学习中不断的进行完善、不断的学习,把一些原有的方法进行优化。
府谷网站建设公司成都创新互联,府谷网站设计制作,有大型网站制作公司丰富经验。已为府谷1000多家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的府谷做网站的公司定做!镜像下载地址:
旧方案地址:如有不成熟没有上传
新方案地址:https://github.com/aarongo/centos-mongodb-supervisor.git
1.旧方案(尝试过多次用centos安装MongoDB,但都已失败告终,最终使用ubuntu安装MongoDB并且启动成功)
Dockerfile:
FROM ubuntu:12.04 MAINTAINER aaron "aaron.docker@gmail.com" RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 && \ echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' > /etc/apt/sources.list.d/mongodb.list && \ apt-get update && \ apt-get install -y mongodb-org && \ rm -rf /var/lib/apt/lists/* VOLUME ["/data/db"] CMD ["mongod"] EXPOSE 27017 EXPOSE 28017运行方式:
docker run -d -p 27017:27017 -v localdir:/data/db --name mongodb aarongo/ubuntu-mongodb #-v 选项将主机中的目录挂载到容器中运行测试:
此方法大的弊端是在运行镜像的时候不能进行实时的管理MongoDB并且不能同时启动多个服务进程
2.新方案(使用centos进行MongoDB的安装,并且进行ssh的配置,使镜像启动时应用supervisor同时启动ssh、MongoDB)
Dockerfile:(以之前构建的centos-ssh-supervisor镜像为基础)
FROM aarongo/centos-ssh-supervisor:latest MAINTAINER aaron "aaron.docker@gmail.com" #Install mongodb RUN yum -y install wget && yum -y install tar &&\ wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.6.4.tgz &&\ tar xzvf mongodb-linux-x86_64-2.6.4.tgz &&\ mv mongodb-linux-x86_64-2.6.4/ /mongodb &&\ mkdir -p /data/db COPY supervisord.conf /etc/supervisord.conf VOLUME ["/data/db"] EXPOSE 22 27017 28017 CMD ["/usr/bin/supervisord"]运行方式:
docker run -p 1026:22 -p 27017:27017 -p 28017:28017 -it -v hostdir:/data/db aarongo/centos-mongodb-supervisor运行测试:
此方法完美解决了单独容器不能启动多个服务的问题,并且可实现实时的对镜像进行管理
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:Docker使用supervisor启动MongoDB-创新互联
网站URL:http://myzitong.com/article/dscpoh.html