【技术专栏】大话Docker系列:我们为什么需要Docker

轻量级虚拟化容器Docker1.0正式版自发布半年以来,已经受到开源界的极大追捧和企业界的密切关注。在国外CloudOpen大会上投票显示Docker是仅次于OpenStack的开源项目。为什么Docker近来如此之火?

回答这个问题,得聊下当前火热的云计算。现如今的IT发展,无论其规模还是复杂度都远远超过以前,互联网的兴起,大数据的运用,以及云计算背景下的各种“云”。其中IaaS领域以OpenStack为代表,但是IaaS的落地,资金人员投入大,技术实现复杂,稳定周期长,一般适合BAT级别的大公司才能玩的转。而Docker几乎属于PaaS领域的准标准,未来将大有发展。OpenStack与Docker间的关系是“和而不同”。那么相对传统的计算虚拟化KVM和Xen技术,Docker都有哪些功能和优势呢?

Docker 扩展了 Linux 容器,利用了 LXC、cgroups 和 Linux 自己的内核,通过一个高层次的 API 为进程单独提供了一个轻量级的虚拟环境。和传统的虚拟机不同的是,一个Docker容器并不包含一个单独的操作系统,而是基于已有的基础设施中操作系统提供的功能来运行的。Docker会像一个可移植的容器引擎那样工作。它把应用程序及所有程序的依赖环境打包到一个虚拟容器中。

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

Docker 容器相对于 VM 有以下几个优势:启动速度快,容器通常在一秒内可以启动;资源利用率高,一台普通 PC 可以跑上千个容器,性能开销小。

当前IaaS平台里,大多采用KVM和Xen实现计算存储虚拟化,它们需要通过中间层使虚拟机运行于硬件之上的Hypervisor虚拟化技术,但是在Docker看来都很浪费资源。因为绝大多数情况下,客户要求的是高效的运行环境空间而不是臃肿的操作系统,其浪费资源不说,且难于管理,我们需要的是更加敏捷的、轻量级的技术,运行于操作系统内核之上的用户空间中Docker!

作为开发人员,应该经历过代码在开发环境中明明能够正常运行,但在发布部署后却问题多多。Docker的出现大大地降低了环境配置管理的复杂度,提高了产品的应用部署效率,真正做到“一次配置,到处运行”。我们可以通过Docker的容器技术构建起属于自己的开发、测试的标准流程。

总结,运用Docker的容器虚拟化技术,提高了资源服务利用率,提升了云计算的标准化进程,服务构建标准化(Dockerfile),产品交付标准化(Container),服务运行环境标准化(Docker引擎)。为什么强调标准化?因为云计算的本质不是虚拟化而是服务。SDN也是一样道理,其终极目标是提供“自动化,智能化”的网络服务。Docker对于SDN而言,可为其提供SDN实验组件的容器化运行,比如我们在进行SDN网络实验时,可以把Open vSwitch、Mininet及OpenDaylight、RYU控制器等分别部署到容器中,降低环境部署的复杂度和资源利用效率;SDN对于Docker而言,可以运行SDN的思想和技术实现大量容器间的互联互通,增强Docker在网络方面的软肋。

那么从技术上层面上,Docker是如何实现它所承诺的服务的?

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2014-11-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

不是云计算嫁衣 你应该了解的虚拟化知识

云计算的发展,让虚拟化技术也逐渐被人熟知,那么云计算和虚拟化有何关系呢? 下面让我们来看下: 说到虚拟化,一般是指将物理的实体,通过软件模式,形成若干虚拟存在的...

3917
来自专栏云计算D1net

Sahara将加速OpenStack与Hadoop的融合

由Hortonworks、Mirantis、RedHat联合发起的开源项目Sahara3月19日正式从OpenStack孵化项目中毕业,成为其核心项目。该...

2876
来自专栏程序人生 阅读快乐

Docker源码分析

本书是一本引导读者深入了解Docker实现原理的技术普及读物,主要目标是通过对Docker架构和源代码的详细讲解和解剖,帮助读者对Docker的底层实现有一个全...

992
来自专栏技术翻译

容器将成为新的Linux

Linux是过去二十年来彻底改变数据中心的操作系统,如今它已成为应用托管平台无可争议的领导者。很难想象将任何关键任务生产工作负载部署到Linux以外的任何其他平...

1432
来自专栏云计算D1net

云计算容器安全性知多少

随着Docker的崛起,Linux LXC以及其他的容器供应商已经多次提出了云计算容器技术对于企业应用是否具有足够安全性的问题。 当然,这项新技术比传统基于管理...

4324
来自专栏SDNLAB

进击的Docker网络

Docker容器近来几乎在IT行业的所有领域频频出现,网络领域也不例外。在2016 DockerCon大会上,Docker公司以及其合作伙伴正在采取措施,让Do...

3275
来自专栏腾讯云服务器团队的专栏

热迁移、RTC 计时与安全增强…腾讯云 KVM 性能优化实践经验谈

腾讯云的虚拟机热迁移过程和具体方法是什么?腾讯云又如何看待 KVM 技术开源?KVM 现在面临着哪些新的挑战?

6881
来自专栏SDNLAB

Docker推出SDN容器插件

Docker收购网络初创公司SocketPlane 3个月后就推出了一款软件定义网络插件,在开源容器工具组中添加了容器级别的网络虚拟化功能。该容器的非正式名称是...

3725
来自专栏Debian社区

专访Docker大牛:Docker背后的真正引擎是Containerd

最近,我们可能经常会听到一种说法”Docker正在彻底改变IT!”这种说法是否存在炒作嫌疑呢?Docker对于现有格局的破坏性到底在哪里?Docker和虚拟机之...

1644
来自专栏大魏分享(微信公众号:david-share)

五板斧-帮助企业敲开IT转型之门

当前,随着第三平台的到来和互联网行业的冲击,传统行业的IT系统都面临着转型的压力。而在转型过程中,继续使用封闭的IT系统显然是逆势而为。实际上,无论从全球IT发...

3045

扫码关注云+社区

领取腾讯云代金券