Docker 主要的概念

Dockerfile => 用來產生 docker image 用的(介紹)

Image => 可以用來產生 docker container

Container => 實際上在 run 我們想要的 service

Docker pool (類似 git hub 的概念) https://hub.docker.com/

常用的指令:

docker command

docker images # 列出目前本地端有抓好哪些 docker image

 

docker ps # 列出目前正在運行中的 docker container

 

docker ps -a # 列出目前本地端一共有哪些 docker container (包含已經停止運行的)

 

docker pull [image_name:version] # 從 docker hub 下載一個特定版本的 docker image

 

docker pull [image] # 從 docker hub 下載最新版本的 docker image

 

docker run [image] # 從 docker image 建立一個 docker container 並且運行

 

docker start [container] # 啟動 docker container

 

docker stop [container] # 停止 docker container

例如

# 將 mongo db 版本 3.3 的 docker image 給抓下來

 

$ docker pull mongo:3.3

# 將 mongo db 最新版本的 docker image 給抓下來

 

$ docker pull mongo

pull Image 的狀態

pajace@ubuntu-server:~/mongo_db/3.2$ docker pull mongo:3.1

3.1: Pulling from library/mongo

8dddc0afbe0a: Downloading [====> ] 3.06 MB/37.19 MB

a3ed95caeb02: Download complete

32eed1053be0: Download complete

da7450003e70: Download complete

da146c968d58: Downloading [===============> ] 365.1 kB/1.168 MB

75ce455f57bd: Waiting

f1fac483f3f6: Waiting

dc616cc81177: Waiting

2b7ade65468e: Waiting

03913f2c5b05: Waiting

當完成的時候

pajace@ubuntu-server:~/mongo_db/3.2$ docker pull mongo:3.1

3.1: Pulling from library/mongo

8dddc0afbe0a: Pull complete

a3ed95caeb02: Pull complete

32eed1053be0: Pull complete

da7450003e70: Pull complete

da146c968d58: Pull complete

75ce455f57bd: Pull complete

f1fac483f3f6: Pull complete

dc616cc81177: Pull complete

2b7ade65468e: Pull complete

03913f2c5b05: Pull complete

Digest: sha256:bb3388e777b5d42c3d51370d2dcf2b1bd045b7169cf5e9373d6ef3bd56d9e78a

Status: Downloaded newer image for mongo:3.1

抓下來之後可以用 docker images 可以列出目前有哪些 Image

顯示目前有哪些 image 在 local 端

pajace@ubuntu-server:~/mongo_db/3.2$ docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

mongo-express latest 11b1889462fa 3 weeks ago 252.3 MB

mongo 3.3.6 83370cc968c1 3 weeks ago 342.9 MB

mongo 3.2 4244d33b9b0e 3 weeks ago 313.1 MB

接下來就讓我們來建立一個 Container 並執行它,會用到的參數如下:

-d 讓這個 container 背景執行模式
-v 掛資料夾
-p 綁定 container 的 port 到 localhost
--name 設定一個名字給這個 container
... 當然還有很多
請參考
這裡

建立並執行 mongodb docker container

# 建立並運行 mongodb docker container

 

$ docker run -d --name mongodb_3.3 -p 27017:27017 mongo:3.3.6

078e7112aa59050297e4f2ab5b3fa322e91a217226dece11aafc06f521e6ab5f

 

# 建立 mongo-express 並且連結到
剛剛建立的 mongodb docker container

 

$ docker run -d --name mongodb_web_336 --link mongodb_3.3:mongo -p 8081:8081 mongo-express

ac7f52660d4b661e14fb832ae2f8655702b8410b56de7d7f2bb74e2196898d4b

 

# 查看目前正在運行的 docker container

 

$ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

ac7f52660d4b mongo-express "tini -- node app" 3 seconds ago Up 2 seconds 0.0.0.0:8081->8081/tcp mongodb_web_336

078e7112aa59 mongo:3.3.6 "/entrypoint.sh mongo" 2 minutes ago Up 2 minutes 0.0.0.0:27017->27017/tcp mongodb_3.3

 

Windows 或 Mac 需要 port mapping, Ubuntu 上則不用

因為在 Windows 上,Docker 是 run 在一個 virtual machine 上面,所以需要做一下 port mapping, 好將 virtual machine 上的 port 導到 localhost 上面來

 

Unfortunately, the mechanism VirtualBox uses to share folders between the host system and the Docker container is not compatible with the memory mapped files used by MongoDB (see vbox bug, docs.mongodb.org and related jira.mongodb.org bug). This means that it is not possible to run a MongoDB container with the data directory mapped to the host.

因此在 Windows 或 Mac 上無法使用 -v /some_path/:/data/db 這個參數

當我們使用 docker run 建立並執行一個 container 之後,就可以使用 docker start 或 docker stop 來啟動或停止這個 contaner, 也可以任意的切換目前正在使用的 MongoDB.

啟動 container

$ docker stop BookServerMongoDB_3.3

$ docker start BookServerMongoDB_3.3

 

 

来自:http://mycodetub.logdown.com/posts/737534-use-mongodb-docker-image

使用 mongodb 的 Docker Image 快速上手系列 lab的更多相关文章

  1. 快速上手系列-C语言之指针篇(一)

    快速上手系列-C语言之指针篇(一) 浊酒敬风尘 发布时间:18-06-2108:29 指针的灵活运用使得c语言更加强大,指针是C语言中十分重要的部分,可以说指针是C语言的灵魂.当然指针不是万能的,但没 ...

  2. MongoDB数据库 5分钟快速上手

    安装 本次安装使用docker镜像,安装无障碍,一行命令即可解决 # 安装镜像并启动 可以自行修改命令中的参数 ## 账户 tanoak 密码 123123 ## -p 27018:27017 映射端 ...

  3. SpringBoot快速上手系列01:入门

    1.环境准备 1.1.Maven安装配置 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. 下载Maven可执行文件 cd /usr/local ...

  4. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  5. MongoDB快速上手

    1.  MongoDB简介 MongoDB是一个跨平台的基于Key_Value键值对形式保存数据的NoSQL文档类型数据库. NoSQL(not only sql)数据库,泛指非关系型数据库. 1.1 ...

  6. 用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker

    如果想在一台电脑上搭建一个多节点的Hadoop集群,传统的方式是使用多个虚拟机.但这种方式占用的资源比较多,一台笔记本能同时运行的虚拟机的数量是很有限的.这个时候我们可以使用Docker.Docker ...

  7. 必会技能!Docker助你快速上手玩转HBase!

    前言:本文主要讲述了如何使用Docker快速上手HBase,省去繁杂的安装部署环境,直接上手,小白必备.适合HBase入门学习及简单代码测试. 1. Docker 安装 参考地址: https://y ...

  8. 【新手】【十分钟上手系列-一】快速开发vue插件

    2018.6.28 在这浮躁的前端娱乐圈,不会三两个新框架都觉得自己不是前端.哦,不是我说的.说到底.原生才是重中之重.加油. vue用了大半年多,一直在用ui库,插件等,没有自己的东西. 想想连个v ...

  9. [Android开发学iOS系列] 快速上手UIKit

    快速上手iOS UIKit UIKit是苹果官方的framework, 其中包含了各种UI组件, window和view, 事件处理, 交互, 动画, 资源管理等基础设施支持. 按照前面的介绍, 用U ...

随机推荐

  1. consul vs etcd3

    https://sysadmin.libhunt.com/project/etcd/vs/consul

  2. Freescale OSBDM JM60仿真器 BGND Interface

    The BGND interface provides the standard 6 pin connection for the single wire BGND signal type devel ...

  3. Revit Family API 找到实体某一方向上的面。

    PlanarFace.Normal取得向量.IsAlmostEqualTo判断向量是否一致. // ================================================== ...

  4. cocos2dx学习之路

    http://blog.csdn.net/qq_30501909/article/details/50720227

  5. 再谈vc发送键盘、组合键消息

    关于向Windows窗口发送Alt组合键的问题,这个真是经典问题啊,在网上找了一下,问的人N多,方法差不多, 但就是没有很好解决问题. 之前找到一个能正确发送的code:(Alt+A) PostMes ...

  6. Windows Phone本地数据库(SQLCE):5、[Association]attribute(翻译)(转)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第五篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

  7. Android提交数据到服务器的两种方式四种方法

    本帖最后由 yanghe123 于 2012-6-7 09:58 编辑 Android应用开发中,会经常要提交数据到服务器和从服务器得到数据,本文主要是给出了利用http协议采用HttpClient方 ...

  8. input输入框只能输入正整数正则

    input输入框加入限制只能输入正整数,输入其他字符会自动清除: <input type="text" value="1" onkeyup="i ...

  9. cocos2d-x 3.0 WIN7+VS2012 安卓平台搭建

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  10. 低版本系统兼容的ActionBar(七)自定义Actionbar标题栏字体

    这个自定义字体其实和ActionBar有关,但之前写AtionBar的时候没考虑到修改字体样式,今天看到一篇专门写这个的文章就贴上使用方式.╮(╯▽╰)╭,不得不说Actionbar的那个样式真是让人 ...