在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