之前说过Docker的好处,Docker可以集装箱化的部署应用程序。那么Docker是通过什么实现的呢。要理解Docker内部构建,需要先理解Docker的四种部件

1)images:镜像,docker镜像是docker容器运行时的模板,一个镜像就是一个应用程序的模板。比如我用Docker创建一个Ubuntu,那就得        建立一个ubuntn的镜像,这个镜像就像是印刷术里面的板子,如果我需要再创建一个Ubuntu系统,就可以重复利用这个镜  像。镜像是由一系列的层(layers)组成,Docker使用UnionFS将这些层联合到单独的镜像,当你需要升级或者改变镜像的时候,
                  一个新的层就会被创建,不需要删除或者覆盖整个镜像。获取镜像,可以自己写一个Docker_file来创建,也可以从Docker                       Hub里面下载

2)docker仓库:docker仓库用来保存镜像,Docker仓库有公有和私有的概念,公有的Docker仓库名字是Docker Hub,Docker Hub里面                    提供里非常多的images,我们可以获得很多自己想要的镜像.https://hub.docker.com/ 这个就是Docker Hub的网址,里面有很多镜
                 像可以看看。

3)container:容器,docker容器中包含了某个应用运行的所有环境和程序,每一个容器都是由镜像创建而来。Docker容器可以停止,开                  始,删除,移动。

4) docker file:用来创建docker images的文件,可以根据自己的需要,创建自己要的images。以后会具体学习Docker File的

在安装Docker之前,我们需要知道,安装Docker本身是一个很烦的过程,但是我们可以借助工具,很轻松的安装Docker。原先,我们使用Boot2Docker在OSX下管理Docker。在Docker发布了Toolbox之后,新增了Docker Machine命令行。通过docker-machine,可以让我们一致化的命令在本地或者云计算上创建docker服务。以下boot2docker和docker-machine命令的对照表


在安装之前,我们还需要下载一个Virtualbox,用来管理虚拟机,因为Docker是在Linux上运行的,在Mac OS,和windows上,都必须创建一个Linux的虚拟机来作为桥梁运行Docker

1.用homebrew 安装docker 和docker-machine

2.创建一个名字为default的虚拟机

这个时候,查看Virtual Box会发现里面多了一个虚拟机

3.初始化环境变量

docker-machine env default 显示宿主机需要为default 虚拟机设置环境变量的指令。

然后按照提示执行 eval $(docker-machine env default)

这里要解释一下,如果,不设

置环境变量的话,Docker就无法在default虚拟机链接,会提示: Cannot connect to the Docker daemon. Is the docker daemon running on this host。

我们可以在环境变量里添加eval $(docker-machine env default) 。

这样的话,docker就安装完了。

Docker 学习应用篇之二: Docker的介绍和安装的更多相关文章

  1. Docker 学习应用篇之三: Docker的简单实用

    安装完Docker之后,我们就可以简单的使用Docker,来体会Docker的用处. 首先看下Docker的常用命令,都是我在实用Docker的时候用到的命令: docker常用命令: $ docke ...

  2. Docker学习(三)认识Docker和常用命令

    Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...

  3. Docker 学习应用篇之一: 初识Docker

    Docker 自从2013年以来就非常的火热,无论是从github上的代码活跃度,还是Redhat在RHE6.5中集成对Docker的支持,等等.第一次接触Docker,还是老师给我们介绍的. 1.初 ...

  4. Docker学习一篇就够了

    Docker 1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像 ...

  5. docker学习笔记(2)——docker常用命令

    参考博客: 1.官网教程:https://docs.docker.com/reference/ 可以一边敲命令一边对照官网学习,也可以通过阅读docker --help来学习 2..视频教程:http ...

  6. Docker学习总结(9)——Docker常用命令

    容器生命周期管理 - docker [run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 - docker [ps|inspect|top|att ...

  7. Docker学习总结(4)——Docker镜像与容器命令

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...

  8. [置顶] Docker学习总结(1)——Docker实战之入门以及Dockerfile(一)

    一.Docker是什么? 首先Docker是软件工业上的集装箱技术 回顾,在没有集装箱出现以前,传统运输行业中,会存在这些问题: 在运输过程中,货物损坏 装卸.运输货物,效率低下 运输手续繁多及运输环 ...

  9. docker的常用操作之二:docker内无法解析dns之firewalld设置等

    一,如何启动一个已退出的容器? [root@localhost ~]# docker start storage4 说明:架构森林是一个专注架构的博客,地址:https://www.cnblogs.c ...

随机推荐

  1. git branch 命令

    1.git init 该命令执行之后并没有创建branch 2.git add 添加文件,这时branch 也还没生成.git branch name也没用 3.git commit 提交到git r ...

  2. DTD与模式

    摘要 我们在制作页面时必须要测的就是IE浏览器,毕竟IE浏览器市场占有率还是很高.随着HTML5的流行,可能项目要求兼容IE最低版本为IE8或者更高,但是还是有很多项目兼容IE低版本.所以我们经常会碰 ...

  3. Ulua_toLua_基本案例(六)_LuaCoroutine2

    Ulua_toLua_基本案例(六)_LuaCoroutine2 using UnityEngine; using System.Collections; using LuaInterface; pu ...

  4. iOS UTI(统一类型标识)

    同一类型标识符(Uniform Type Identifier,UTI)代表IOS信息共享的中心组件.可以把它看成下一代的MIME类型.UTI是标识资源类型(比如图像和文本)的字符串,他们制定哪些类型 ...

  5. Flickr Hosts

    Test Page: http://www.flickr.com/help/test Hosts: 77.238.160.184 farm6.staticflickr.com 98.139.21.45 ...

  6. ISO27001信息安全管理体系

    0x00 前言 初入甲方,刚开始接触的应该就是ISO27001信息安全管理体系,你拿到的应该就是一整套安全管理类的文档.在甲方,稍微有点规模的公司很注重制度和流程,岗位职责分工明细,那么这些安全管理制 ...

  7. Explaining Delegates in C# - Part 4 (Asynchronous Callback - Way 1)

    So far, I have discussed about Callback, Multicast delegates, Events using delegates, and yet anothe ...

  8. Python学习--判断变量的数据类型

    import types aaa = 0 print type(aaa) if type(aaa) is types.IntType: print "the type of aaa is i ...

  9. Python生成器笔记

    Python中三大器有迭代器,生成器,装饰器,本文主要讲述生成器.主要从生成器的概念,本质,以及yield关键字的使用执行过程. 本质:生成器是一类特殊的迭代器,使用了yield关键字的函数不再是函数 ...

  10. 初步总结javascript中学习DOM之前的知识

    嘿嘿,又到了周末时间,周六其实就是总结这周的学习的,记得周二周三刚开始接触javascript时间,还是不知道怎么学习的,就感觉找不到方向,那时间学习的只是总结了一些简单的定义或者是学习结构,今天就把 ...