Docker与LXC、虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,Docker底层是LXC,本质都是cgroups是在直接操作硬件
先说和虚拟化技术的区别:
难道虚拟技术就做不到吗?
不不不,虚拟技术也可以做到,但是会有一定程度的性能损失,灵活度也会下降。容器技术不是模仿硬件层次,而是 在Linux内核里使用cgroup和namespaces来打造轻便的、将近裸机速度的虚拟技术操作系统环境。因为不是虚拟化存储,所以容器技术不会管 底层存储或者文件系统,而是你放哪里,它操作哪里。
这从根本上改变了我们如何虚拟化工作负载和应用程序,因为容器速度比硬件虚拟化技术更快,更加便捷,弹性扩容的更加高效,只是它的工作负载要求操作系统,而不是Linux或特定的Linux内核版本。
那VMWare就这样玩完了?
没那么快!虚拟技术相对成熟,又有广泛的工具,还有生态系统来支持它在不同环境下的配置。至于工作负载,它要求非Linux操作系统,或者只能使用特定的核心虚拟化技术。
--------------------------------------
Docker并不是LXC的替代品,Docker的底层就是使用了LXC来实现的。LXC将Linux进程沙盒化,使得进程之间相互隔离,并且能够控制各进程的资源分配。
在LXC的基础之上,Docker提供了一系列更强的功能。
可移植性
Docker定义了一种新的格式,将应用和其依赖环境全部打包到一个单一对象中,这个对象可以在任何安装有Docker的机器上共享,在任何机器上
执行这个对象的效果都是一样的。LXC仅仅实现了进程沙盒化,并不能在不同机器上进行移植。Docker将应用的所有配置进行抽象,打包到一个容器中,使
得该容器具有可移植性。
以应用为中心
Docker针对应用的部署做了优化,反映在其API,用户接口,设计原理及文档上面。而LXC仅仅关注容器作为一个轻量级的服务器。
自动化构建
Docker中支持Dockerfile,将应用的所有依赖项,构建工具和包都以源码的形式写在Dockerfile中,然后Docker可以根据Dockerfile构建镜像。该镜像在任何机器上面运行的效果都一样。
版本控制
Docker对容器提供了类Git的版本控制功能,支持版本回滚等功能。Docker也实现了增量上传和下载的功能,节约了上传和下载时的带宽资源。
组件重用
一个镜像可以作为基础镜像来创建更多特定的镜像,镜像之间支持多层重用。
镜像共享
Docker开发了一个Docker Hub,里面包含了各种常用的镜像,非常方便,我们也可以将自己的镜像上传到Docker Hub中。用户也可以在私有环境中搭建自己的Docker仓库,用来满足镜像的内部共享。
工具生态系统
Docker定义了一个API,用于自动化和本地化容器的创建和部署。已经存在大量的集成了Docker的工具集,例如Deis,mesos,docker-ui,jenkins等等。
原文:http://stackoverflow.com/questions/17989306/what-does-docker-add-to-just-plain-lxc
转自:http://blog.csdn.net/wangtaoking1/article/details/45043523
Docker与LXC、虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,Docker底层是LXC,本质都是cgroups是在直接操作硬件的更多相关文章
- 3.Docker与LXC、虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,Docker底层是LXC,本质都是cgroups是在直接操作硬件
先说和虚拟化技术的区别 难道虚拟技术就做不到吗? 不不不,虚拟技术也可以做到,但是会有一定程度的性能损失,灵活度也会下降.容器技术不是模仿硬件层次,而是 在Linux内核里使用cgroup和names ...
- docker和虚拟化技术的区别
1.docker和虚拟化技术的区别 Docker 扩展了 Linux 容器(Linux Containers),或着说 LXC,通过一个高层次的 API 为进程单独提供了一个轻量级的虚拟环境.Dock ...
- 虚拟化–操作系统级 LXC Linux Containers内核轻量级虚拟化技术
友情提示:非原文链接可能会影响您的阅读体验,欢迎查看原文.(http://blog.geekcome.com) 原文地址:http://blog.geekcome.com/archives/288 软 ...
- RAID 2.0 技术(块虚拟化技术)
RAID 2.0 技术(块虚拟化技术) RAID 2.0 技术(块虚拟化技术),该技术将物理的存储空间划分为若干小粒度数据块,这些小粒度的数据块均匀的分布在存储池中所有的硬盘上,然后这些小粒度的数据块 ...
- SQL Server 虚拟化(1)——虚拟化简介
本文属于SQL Server虚拟化系列 前言: 现代系统中,虚拟化越来越普遍,如果缺乏对虚拟化工作原理的理解,那么DBA在解决性能问题比如降低资源争用.提高备份还原速度等操作时就会出现盲点.所以基于本 ...
- docker中容器和镜像的区别
自学docker过程中一直搞不明白 镜像容器的关系,网上查阅看到一篇文章觉得讲的很好,转载记录. 转自 http://blog.csdn.net/chszs/article/details/48252 ...
- VMware vSphere 服务器虚拟化之十七 桌面虚拟化之安装View链接服务器
VMware vSphere 服务器虚拟化之十七 桌面虚拟化之安装View链接服务器 View链接服务器(View Connection Server)是Vmware Horizon View桌面虚拟 ...
- 广州.NET微软技术俱乐部与其他技术群的区别
.NET和微软技术相关的微信群有不少, 那么广州.NET微软技术俱乐部与其他技术群的区别是什么呢? 有十分大的区别! 本群公告写得很清楚! 本群坚决禁止讨论“JAVA和.NET哪个好”.“NET有没有 ...
- Docker环境下的前后端分离项目部署与运维(十一)Docker Swarm技术
Docker Swarm技术 docker swarm技术(之前的docker集群都是在 一个虚拟主机上的,但是如果这个主机挂掉了over了,docker技术就是多个虚拟主机形成一个集群) Swarm ...
随机推荐
- Carthage:去中心化的Cocoa依赖管理器
Cocoa的依赖管理器,我们已经有了CocoaPods,非常好用,那么为什么还要创建这样一个项目呢?本文翻译自Carthage的Github的README.md,带大家来了解一下这个工具有何不同之处. ...
- Android Studio 2.3版本 Run项目不能自动启动APP的问题 (转)
参考: http://blog.csdn.net/lucasey/article/details/61071377 Android Studio 升级到2.3版本后 运行项目后,只是安装上了,而APP ...
- 谷歌宣称web组件才是web开发的未来
谷歌宣称web组件才是web开发的未来 虽然今年的谷歌I/O大会没有出现像去年谷歌眼镜发布时直播疯狂跳伞这样的活动,但是上周仍然有不少产品推出.谷歌宣布对谷歌地图.搜索.安卓,以及其他 很多产品做出更 ...
- 并发检测主机ip存活脚本
#!/bin/bash ################### # Check Active Host####### ################### function CheckInput() ...
- C语言基础知识【作用域规则】
C 作用域规则1.任何一种编程中,作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问.C 语言中有三个地方可以声明变量:在函数或块内部的局部变量在所有函数外部的全局变量在形式参数的函数参 ...
- 使用CSDN CODE来存放OPENSTACK位于GITHUB上的源代码
use CSDN CODE to pull openstack codes 2014-11-20 Author:Hyphen 问题 直接从GITHUB上获代替码,常常是没保障,特别是用DEVSTACK ...
- IOS超强表格控件GMGridView
本文转载至 http://zyc-to.blog.163.com/blog/static/1715240020124235837247/ 介绍: iOS为我们提供UITableView类,实现了项目的 ...
- python is == 的区别, 编码与解码.深浅拷贝
一. is == 的区别 双等表示的是判断是否相等, 注意. 这个双等比较的是具体的值.而不是内存地址 is 比较的是地址 编码回顾 除了了ASCII码以外, 其他信息不能直接转换 编码和解码的时 ...
- 体验DNN演示平台《A Neural Network Playground》(一)
0 本次博客内容简介 本次博客标(一),是因为我自知有些地方还是不理解.本篇博客仅暂时记录第一次玩 A Neural Network Playground的体验,如果后面有了进一步体会,会更新新的内容 ...
- zoj 3716 Ribbon Gymnastics【神奇的计算几何】
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3716 来源:http://acm.hust.edu.cn/vjudg ...