在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ Docker中運行MongoDB
docker用戶指南
鏡像
在Docker中運行SSH進程服務
Docker Hub
CentOS
Rackspace Cloud
Red Hat Enterprise Linux
在Docker中運行Reids服務
FrugalWare
管理容器數據
Debian
Docker中運行MongoDB
Gentoo
在Docker中使用Riak服務
IBM SoftLayer
在Docker中運行Apt-Cacher-ng服務
開始使用Docker Hub
Amazon EC2
在Docker中運行"hello Word"應用
Docker Hub上的倉庫和鏡像
Ubuntu
Docker Hub賬戶
Docker中運行Node.js web應用
Docker中運行CouchDB服務
Fedora
Binaries
CRUX Linux
使用Docker Hub
Mac OS X 安裝 Docker
在Docker中運行PostgreSQL
創(chuàng)建一個基本鏡像
Docker Hub上的自動化構建
連接容器
Google Cloud Platform
使用docker第一步
使用docker鏡像
Arch Linux
openSUSE
使用容器
Microsoft Windows 安裝docker

Docker中運行MongoDB

描述

在這個例子里,我們會學到如何構建一個預裝MongoDB的Docker鏡像。我們還將會看到如何推送鏡像到Docker Hub注冊表來分享給其他人。

使用Docker容器來部署MongoDB將會給你帶來許多好處,例如:

  • 易于維護、高可配置的MongoDB實例
  • 準備好運行和毫秒級內開始工作
  • 基于全球訪問的共享鏡像

注意:——如果你不喜歡sudo,可以查看非root用戶使用

為MongoDB創(chuàng)建一個Dockerfile

讓我們創(chuàng)建一個Dockerfile并且來開始構建它:

    $ nano Dockerfile

雖然是可選的,但是在Dockerfile開頭處的注釋說明很方便的說明其目的:

    # Dockerizing MongoDB: Dockerfile for building MongoDB images
    # Based on ubuntu:latest, installs MongoDB following the instructions from:
    # http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

提示:Dockerfiles是靈活的。然而,他們遵循一定的格式。第一項定義的是鏡像的名稱,這里是MongoDB docker應用的父鏡像。

我們將使用 Docker Hub中最新版本的Ubuntu鏡像來構建鏡像。

    # Format: FROM    repository[:version]
    FROM       ubuntu:latest

繼續(xù),我們將指定Dockerfile中的MAINTAINER

    # Format: MAINTAINER Name <email@addr.ess>
    MAINTAINER M.Y. Name <myname@addr.ess>

注:盡管Ubuntu系統(tǒng)已經有MongoDB包,但是它們可能過時,因此,在這個例子中,我們將使用MongoDB的官方包。

我們將開始導入MongoDB公共GPG秘鑰。我們還將創(chuàng)建一個MongoDB庫包管理器

    # Installation:
    # Import MongoDB public GPG key AND create a MongoDB list file
    RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/10gen.list

這個初步的準備后,我們將更新我們的包并且安裝MongoDB。

    # Update apt-get sources AND install MongoDB
    RUN apt-get update
    RUN apt-get install -y -q mongodb-org

提示:您可以安裝MongoDB的特定版本與版本使用所需的軟件包列表,例如: RUN apt-get install -y -q mongodb-org=2.6.1 mongodb-org-server=2.6.1 mongodb-org-shell=2.6.1 mongodb-org-mongos=2.6.1 mongodb-org-tools=2.6.1

MongoDB需要數據目錄,讓我們在最后一步中執(zhí)行

    # Create the MongoDB data directory
    RUN mkdir -p /data/db

最后我們設置ENTRYPOINT來告訴Docker如何在我們的MongoDB鏡像容器內運行mongod。并且我們將使用EXPOSE命令來指定端口:

    # Expose port 27017 from the container to the host
    EXPOSE 27017

    # Set usr/bin/mongod as the dockerized entry-point application
    ENTRYPOINT usr/bin/mongod

現在保存我們的文件并且構建我們的鏡像。

構建MongoDB的Docker鏡像

我們可以使用我們的Dockerfile來構建我們的MongoDB鏡像。除非實驗,使用docker build--tag參數來標記docker鏡像始終是一個很好的做法。

    # Format: sudo docker build --tag/-t <user-name>/<repository> .
    # Example:
    $ sudo docker build --tag my/repo .

當我們發(fā)出這個命令時,Docker將會通過Dockerfile來構建鏡像。最終鏡像將被標記成my/repo。

推送MongoDB鏡像到Docker Hub

docker push命令推送到Docker Hub上的所有鏡像,可以再Docker Hub上托管和分享。為此,你需要登錄:

    # Log-in
    $ sudo docker login
    Username:
    ..

    # Push the image
    # Format: sudo docker push <user-name>/<repository>
    $ sudo docker push my/repo
    The push refers to a repository [my/repo] (len: 1)
    Sending image list
    Pushing repository my/repo (1 tags)
    ..

使用MongoDB的鏡像

使用我們創(chuàng)建的MongoDB鏡像,我們可以運行一個或多個守護進程模式的MongoDB。

    # Basic way
    # Usage: sudo docker run --name <name for container> -d <user-name>/<repository>
    $ sudo docker run --name mongo_instance_001 -d my/repo

    # Dockerized MongoDB, lean and mean!
    # Usage: sudo docker run --name <name for container> -d <user-name>/<repository> --noprealloc --smallfiles
    $ sudo docker run --name mongo_instance_001 -d my/repo --noprealloc --smallfiles

    # Checking out the logs of a MongoDB container
    # Usage: sudo docker logs <name for container>
    $ sudo docker logs mongo_instance_001

    # Playing with MongoDB
    # Usage: mongo --port <port you get from `docker ps`> 
    $ mongo --port 12345
上一篇:Rackspace Cloud下一篇:openSUSE