您的位置:首页 > 运维架构 > Docker

30分钟玩转Docker系列课程1---初识Docker

2015-07-24 13:13 639 查看
Docker是什么:

什么是Docker,我们从Docker官网(https://www.docker.com/)中可以看到是这么描述的:

Docker is an openplatform for building, shipping and running distributed applications. It givesprogrammers, development teams and operations engineers the common toolbox theyneed to
take advantage of the distributed and networked nature of modernapplications.

翻译成中文可以简单的理解成: 通过对应用组件的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)等生命周期的管理,达到应用组件级别的“一次封装,到处运行”

Docker的起源:

起源:
Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是dotCloud公司
Docker项目的发起人认为,Docker在正确的地点、正确的时间顺应了正确的趋势---即高效地构建应用。现在开发者需要能方便地创建运行在云平台上的应用,也就是说应用应该必须能够脱离底层机器,而且同时必须是“任何时间任何地点”可获取的,因此开发者们需要一种创建分布式应用程序的方式,这也是docker能提供的

Docker的优势:
Docker是种虚拟化技术,它与传统的虚拟化技术又有怎么样的区别。
Docker引擎的基础是Linux容器(LXC)技术,那什么叫容器,容器就是 有效的将由单个操作系统管理的资源划分到孤立的组中,以便更好地在孤立的组之间平衡有冲突的资源使用需求,容器可以在核心CPU本地运行指令,而不需要任何专门的解释机制
虚拟化技术有以下分类,首先分类为 硬件虚拟化和软件虚拟化,目前业界真正采用硬件虚拟化技术的工具不多,主流为软件虚拟化;其中软件虚拟化又分为以下几类:

1、完全虚拟化:模拟完整的底层硬件环境和特权指令的执行过程如VMWare、VirtualBox、QEMU等;

2、硬件辅助虚拟化:利用硬件(主要是CPU)辅助支持,X86体系结构上包含Intel-VT,和AMD-V)处理敏感指令实现完全虚拟化(Vmware、Xen、KVM)

3、部分虚拟化:针对部分硬件资源进行虚拟化,客户操作系统需要进行修改

4、超虚拟化:
部分硬件接口以软件的形式提供给客户机操作系统,操作系统需修改

5、操作系统级虚拟化:
内核创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程,容器相关技术即在这个范畴

Docker容器技术与传统虚拟机技术的特性比较

特性容器虚拟机
启动速度秒级分钟级
硬盘使用一般为MB一般为GB
性能接近原生弱于
系统支持量单机支持上千个容器一般几十个
隔离性安全隔离安全隔离
传统虚拟化方案
Docker虚拟化方案





从上我们可以看到Docker在与传统的虚拟化技术相比,有相当强的优势,传统的虚拟化方案在操作系统上安装一个中间件,类似VMWare客户端,然后再安装操作系统,不够灵活且不能有效的利用资源,而Docker采用操作系统级的虚拟化,可充分利用操作系统的资源,比如运行一个Docker容器,如果没有任何程序在运行,容器内CPU占用率为0,则操作系统中的CPU使用率完全动态体现Docker容器的CPU使用率

而Docker不紧紧只是作为虚拟化技术上的优势,它在开发和运维过程中有无以伦比的优势:

1、更快速的交付和部署

2、更高效的资源利用

3、更轻松的迁移和扩展
4、更简单的更新管理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: