在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