在Docker容器中部署MongoDBc++
不作鋪墊,直接開擼:mongodb
1、軟件準備:docker
docker(已安裝)centos
MongoDB-3.2.0.tgzui
2、準備配置文件mongo.confspa
port=27017 dbpath=/data/mongo_data logpath=/data/mongo_log
注意:配置mongo時,不要設置後臺運行,不然docker啓動後會自動退出。。。!!!code
3、Dockerfile編寫:blog
FROM centos MAINTAINER ahaii RUN groupadd -r mongo && useradd -r -g mongo mongo RUN yum install -y gcc gcc-c++ net-tools make RUN mkdir /data && chown -R mongo:mongo /data #在容器內部建立/data目錄 RUN mkdir /data/mongo_data #在容器內部建立存放數據的目錄 VOLUME ["/data"] #將容器的/data目錄掛在到宿主機 ADD mongodb-3.2.0.tgz /data/ ENV PATH=$PATH:/data/mongodb-3.2.0/bin #添加全局變量 WORKDIR /data/mongodb-3.2.0/bin COPY mongo.conf . EXPOSE 27017 CMD ["mongod","-f", "mongo.conf"]
3、建立MongoDB鏡像文件:部署
將安裝包、配置文件和Dockerfile放在同一目錄下,而後在該目錄下執行:it
docker build -t mongodb .
執行完畢後,能夠使用命令查看新生成的images:
docker images
4、運行MongoDB容器:
docker run --name MongoDB -dit -v /etc/localtime:/etc/localtime -p 27017:27017 mongodb
該容器的名字爲MongoDB,使用宿主機的系統時間。
執行完畢後,查看運行的容器:
docker ps
查看容器內部信息:
docker inspect MongoDB
注:若是容器運行失敗,能夠使用如下命令排查緣由:
docker logs MongoDB