在Docker容器中部署MongoDB
不做铺垫,直接开撸:
一、软件准备:
docker(已安装)
MongoDB-3.2.0.tgz
二、准备配置文件mongo.conf
port=27017
dbpath=/data/mongo_data
logpath=/data/mongo_log
注意:配置mongo时,不要设置后台运行,否则docker启动后会自动退出。。。!!!
三、Dockerfile编写:
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"]
三、创建MongoDB镜像文件:
将安装包、配置文件和Dockerfile放在同一目录下,然后在该目录下执行:
docker build -t mongodb .
执行完毕后,可以使用命令查看新生成的images:
docker images
四、运行MongoDB容器:
docker run --name MongoDB -dit -v /etc/localtime:/etc/localtime -p 27017:27017 mongodb
该容器的名字为MongoDB,使用宿主机的系统时间。
执行完毕后,查看运行的容器:
docker ps
查看容器内部信息:
docker inspect MongoDB
注:如果容器运行失败,可以使用以下命令排查原因:
docker logs MongoDB