Docker应用五:使用Dockerfile部署MongoDB

时间:2022-12-15 11:52:26

在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