制作mongodb的Docker镜像文件
2017-10-07 22:14
459 查看
在上一章《Docker下,极速体验mongodb》中,我们快速搭建了mongodb并在控制台做了基本的体验,当时用的镜像是官方发布在hub.docker.com上的镜像,今天我们来尝试一下自己制作一个mongodb的Docker镜像,在制作的过程中顺便了解如何在linux下安装mongodb。
下载后找个目录解压此文件,得到文件夹mongodb-linux-x86_64-ubuntu1604-3.4.9;
执行apt-get update和apt-get install两个命令有点耗时,构建成功的输出大致如下图所示:
再执行docker exec -it mongo001 /bin/bash进入容器,执行mongo命令进入mongodb的控制台,可以如前一章那样去验证和体验mongodb的功能,如下图:
如上所示,首先将28017端口暴露出来了,我们在docker run的时候也通过-p参数做了端口映射,并且Dockerfile的CMD命令还增加了一个参数”–rest”,有了这个参数,就开启了mongodb的web服务,在当前电脑上打开浏览器输入localhost:28017,可以看到如下图所示和页面:
至此,我们本地制作mongodb的Docker镜像的实战就完成了,有hub.docker.com账号的读者也可以通过docker push命令将本地的镜像推送到hub.docerk.com网站上去,以后随时可以pull到;
下载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 <zq2599@gmail.com> #定义工作目录 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到;
相关文章推荐
- docker镜像制作之dockercompose.yml文件---hadoop伪分布式
- docker镜像制作之Dockerfile文件---hadooop伪分布式
- docker镜像制作之Dockerfile文件---snort
- MySQL、MongoDB、Redis数据库Docker镜像制作
- 在docker环境中制作openstack镜像文件
- docker制作镜像 apt-get 安装文件报错debconf: unable to initialize frontend: Dialog
- Docker下的Kafka学习之一:制作集群用的镜像文件
- Docker 制作Apache+PHP+GD+MongoDB+Redis镜像
- 实战DeviceIoControl 之三:制作磁盘镜像文件
- 在Centos7 系统中使用supermin制作CentOS6 的Docker镜像
- ubi文件系统镜像制作
- 实战DeviceIoControl 之三:制作磁盘镜像文件
- 在阿里云上使用 Docker 并配置阿里云镜像加速器,结果遇到无daemon.json文件无法配置的问题
- hi3531 SDK已编译文件系统制作jffs2文件系统镜像并解决这个问题 .
- 基于docker的centos:latest镜像制作nginx的镜像
- docker制作自己的基础镜像
- 新手超详细记录:Docker for Windows打包制作tomcat镜像并部署java web项目
- 制作带有 GRUB 引导功能的软盘镜像文件
- Docker的实例小教程--Dockerfile制作镜像(2)
- [转]用配置文件制作镜像,并直接烧入UBI image