docker的基础概念

什么是Docker:

   Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于 Google公司推出的Go语言实现。项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub上进行维护。

    Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker的基础是Linux容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

    下面的图片比较了Docker和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。

   wKiom1bP7Inj3qZoAAaCUtORmh4275.png

   wKioL1bP7RfzGpPyAAbjgSnnkWc344.png

   docker对比传统的虚拟机:

   wKioL1bP7S6gkPKKAABULqaxE2E274.png

    

使用Docker的好处:

    1:快速部署。docker可以按照一个标准定制一套镜像,例如resin,zookeeper等,镜像包含了运行所需服务的所有环境。比如需要新建一个resin服务时,可以直接使用订制的resin镜像开启一个容器,而无需再去部署基础环境。我们要做的只是简单修改配置文件或者部署代码而已。容器的启动时间是秒级的,可大量节约开发、测试、部署的时间。

    2:测试、开发应用环境的一致性。如果同一种服务的容器是由同一个镜像开启的,那么应用的环境是一模一样的。避免开发测试由于环境的不同导致测试开发的结果有差别。

    3:资源整合。比较传统的虚拟机可部署更多应用,且速度更快。

    4:应用隔离。需要在一台机器上运行多个应用的时候,可利用docker隔离应用,减少应用之间的互相影响。例如端口冲突等。

      



Docker基本概念:

    1:镜像(image):镜像就是一个只读的系统模板,镜像可以用来创建容器。

   wKiom1bP7Nmw_3UOAAAkahxf6hQ340.png

    2:容器(Container):容器是从镜像创建的运行示例,可以被启动,开始,停止,删除。容器间是隔离的。可以把容器看做是个简易版的linux环境。

   wKioL1bP7VmDbbeyAAAZPo2ioFo665.png

    3:仓库(Repository):存放镜像的场所。包括共有仓库和私有仓库。











本文转自 icenycmh 51CTO博客,原文链接:http://blog.51cto.com/icenycmh/1745276,如需转载请自行联系原作者