制作mongodb的Docker镜像文件

作者: 博陵精骑 2017-10-08 10:40:06

在《Docker下,极速体验mongodb》中[附],我们快速搭建了mongodb并在控制台做了基本的体验,当时用的镜像是官方发布在hub.docker.com上的镜像,今天我们来尝试一下自己制作一个mongodb的Docker镜像,在制作的过程中顺便了解如何在linux下安装mongodb。


 


下载mongodb安装文件


首先要下载下载mongodb安装文件,去官网下载,地址:https://www.mongodb.com/download-center#community


下载后找个目录解压此文件,得到文件夹mongodb-linux-x86_64-ubuntu1604-3.4.9;


 


创建Dockerfile文件


新建一个Dockerfile文件,位置和mongodb-linux-x86_64-ubuntu1604-3.4.9在同一个目录下,Dockerfile的内容如下所示,每一行的详细功能请看注释:


# Docker image of hbase cluster


# VERSION 0.0.1


# Author: bolingcavalry


#基础镜像使用ubuntu16.04


FROM ubuntu:16.04


#作者


MAINTAINER BolingCavalry


#定义工作目录


ENV WORK_PATH /usr/local/


#定义mongodb文件夹名称


ENV MONGODB_PACKAGE_NAME mongodb-linux-x86_64-ubuntu1604-3.4.9


#把mongodb安装包从本地电脑复制到工作目录


COPY ./$MONGODB_PACKAGE_NAME $WORK_PATH/mongodb


#创建数据库文件目录


RUN mkdir -p /data/db


#更新


RUN apt-get update


#把libssl.so.1.0.0装上,否则无法运行mongodb


RUN apt-get install -y libssl1.0.0 libssl-dev


#把mongodb的bin目录加入到PATH环境变量中


ENV PATH=$WORK_PATH/mongodb/bin:$PATH


#mongodb的web端口


EXPOSE 28017


#连接端口


EXPOSE 27017


#启动服务,--rest参数表示开启web服务


CMD ["mongod", "--rest"]


 


构建镜像


打开控制台,在Dockerfile文件所在目录执行如下命令,即可构建镜像文件,镜像名bolingcavalry/ubuntu16-mongodb349,tag是0.0.1:


docker build -t bolingcavalry/ubuntu16-mongodb349:0.0.1 .


执行apt-get update和apt-get install两个命令有点耗时,构建成功的输出大致如下图所示:




 


创建一个容器验证


执行以下命令可以基于刚刚构建的镜像创建一个容器:


docker run --name mongo001 -idt -p 28017:28017 bolingcavalry/ubuntu16-mongodb349:0.0.1


再执行docker exec -it mongo001 /bin/bash进入容器,执行mongo命令进入mongodb的控制台,可以如前一章那样去验证和体验mongodb的功能,如下图:




 


web服务


还记得Dockerfile文件的最后几行么:


#mongodb的web端口


EXPOSE 28017


#连接端口


EXPOSE 27017


#启动服务,--rest参数表示开启web服务


CMD ["mongod", "--rest"]


如上所示,首先将28017端口暴露出来了,我们在docker run的时候也通过-p参数做了端口映射,并且Dockerfile的CMD命令还增加了一个参数”–rest”,有了这个参数,就开启了mongodb的web服务,在当前电脑上打开浏览器输入localhost:28017,可以看到如下图所示和页面:




 


至此,我们本地制作mongodb的Docker镜像的实战就完成了,有hub.docker.com账号的读者也可以通过docker push命令将本地的镜像推送到hub.docerk.com网站上去,以后随时可以pull到。


 


附:




 


本文永久更新地址:http://www.linuxdiyf.com/linux/32748.html

相关资讯