1. 程式人生 > >製作mongodb的Docker映象檔案

製作mongodb的Docker映象檔案

在上一章《Docker下,極速體驗mongodb》中,我們快速搭建了mongodb並在控制檯做了基本的體驗,當時用的映象是官方釋出在hub.docker.com上的映象,今天我們來嘗試一下自己製作一個mongodb的Docker映象,在製作的過程中順便了解如何在linux下安裝mongodb。

下載mongodb安裝檔案

下載後找個目錄解壓此檔案,得到資料夾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 <[email protected]>

#定義工作目錄
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到;