华为云计算 云知识 容器技术与虚拟化技术的区别
容器技术与虚拟化技术的区别

【热门云产品免费试用活动】| 【最新活动】| 【企业应用优惠】

免费试用专区

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

在docker的网站上提到了docker的典型场景:

Automating the packaging and deployment of applications

Creation of lightweight,private PAAS environments

Automated testing and continuous integration/deployment

Deploying and scaling web apps,databases and backend services

由于其基于LXC的轻量级虚拟化的特点,docker相比KVM之类最明显的特点就是启动快,资源占用小。因此对于构建隔离的标准化的运行环境,轻量级的PaaS(如dokku),构建自动化测试和持续集成环境,以及一切可以横向扩展的应用(尤其是需要快速启停来应对峰谷的web应用)。

构建标准化的运行环境,现有的方案大多是在一个baseOS上运行一套puppet/chef,或者一个image文件,其缺点是前者需要base OS许多前提条件,后者几乎不可以修改(因为copy on write的文件格式在运行时rootfs是read only的)。并且后者文件体积大,环境管理和版本控制本身也是一个问题。

PaaS环境是不言而喻的,其设计之初和dotcloud的案例都是将其作为PaaS产品的环境基础

因为其标准化构建方法(buildfile)和良好的REST API,自动测试和持续集成/部署能够很好的集成进来

因为LXC轻量级的特点,其启动快,而且docker能够只加载每个container变化的部分,这样资源占用小,能够在单机环境下与KVM之类的虚拟化方案相比能够更加快速和占用更少资源

虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。

虚拟化,原本是指资源的抽象化,也就是单一物理资源的多个逻辑表示,或者多个物理资源的单一逻辑表示。具体到服务器虚拟化,就是多个物理资源的单一逻辑表示。

虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件。

更多相关文章:

1. 域名建站专场

2. 商标特惠专场

3. 云速邮箱

4. SSL证书专场

5. 全球云服务专场

6. 企业免费试用专区

7. 个人免费试用专区

8. 图片文字识别OCR

9. 网站建设自助建站

10. 企业应用专场

12. 域名注册申请

13. 网站模板自助建站

14. 云知识推荐

15. 云专题清单

16. 弹性云服务器ECS

17. 内容分发网络CDN

18. 云硬盘EVS

19. 对象存储服务

上一篇:好会计功能介绍-凭证 下一篇:SFS常用操作包括哪些

企业通用专区

华为云联合生态伙伴,共同打造丰富多彩的精品应用。软件、协同办公、财税费控、人力资源、营销获客、电商零售、技术支撑、全应用场景商品满足企业多样化业务需求。