docker简介

一、docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。

“Docker”应该是2014年最火爆的技术之一,2015年将开启新的跨越。

Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker IncRedhat 已经在其 RHEL6.5 中集中支持 DockerGoogle 也在其 PaaS 产品中广泛应用。

Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。

LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

下面对比了Docker 和传统虚拟化(KVMXEN等)方式的不同之处,容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件的基础上,虚拟出自己的系统,再在系统上部署相关的APP应用。

 

下图为传统虚拟化方案:

如下为Docker虚拟化方案:

Docker虚拟化有三个概念需要理解,分别镜像、容器、仓库。

1)  镜像:docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个样板。

2)  容器:使用镜像常见的应用或者系统,我们称之为一个容器。

3) 仓库:仓库是存放镜像的地方,分为公开仓库(Public)和私有仓库(Private)两种形式。

二、 Docker虚拟化特点

跟传统VM比较具有如下优点:

1)  操作启动快

运行时的性能可以获取极大提升,管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位的。

2)  轻量级虚拟化

你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以布署100~1000个Containers容器。但是传统虚拟化,你虚拟10-20个虚拟机就不错了。

3)  开源免费

开源的,免费的,低成本的。由现代Linux内核支持并驱动。注* 轻量的Container必定可以在一个物理机上开启更多“容器”,注定比VMs要便宜。

4)  前景及云支持

正在越来越受欢迎,包括各大主流公司都在推动docker的快速发展,性能有很大的优势。

跟传统VM比较具有如下缺点:

1)  目前知道的人比较少

2)  相关的技术资料欠缺

3)  Go语言还没完全成熟

原文地址:https://www.cnblogs.com/menglingqian/p/6880339.html