docker到底比LXC多了些什么
看似docker主要的OS级虚拟化操作是借助LXC, AUFS只是锦上添花。那么肯定会有人好奇docker到底比LXC多了些什么。无意中发现 stackoverflow 上正好有人问这个问题,
除了内核特性的底层基础之外,Docker还提供了一个具有以下强大功能的高级工具:
跨机器的便携式部署。 Docker定义了一种将应用程序及其所有依赖绑定到一个单独对象中的格式,该对象可以被传输到任何启用docker的机器上,并在那里执行,保证暴露给应用程序的执行环境是相同的。 Lxc实现了流程沙盒,这是便携式部署的重要先决条件,但单靠这一点对于便携式部署来说是不够的。如果您向我发送了一个安装在自定义lxc配置中的应用程序的副本,那么它几乎肯定不会像我们的机器那样在您的机器上运行,因为它与您计算机的特定配置有关:网络,存储,日志记录,发行版,等等。Docker为这些特定于机器的设置定义了一个抽象,以便完全相同的docker容器可以在许多不同的机器上运行 - 不变 - 具有许多不同的配置。
以应用为中心。 Docker针对应用程序的部署进行了优化,而不是机器。这反映在其API,用户界面,设计理念和文档。相比之下,lxc助手脚本将容器作为轻量级的机器 - 基本上是启动速度更快,内存更少的服务器。我们认为容器不止于此。
自动构建。 Docker包含一个工具,供开发人员自动从源代码中组装一个容器,完全控制应用程序的依赖关系,构建工具,打包等。他们可以自由使用make,maven,chef,puppet,salt,debian包,rpms,source tarballs,或上述的任何组合,而不管机器的配置如何。
版本。Docker包括用于跟踪容器的连续版本,检查版本之间的差异,提交新版本,回滚等类似git的功能。历史记录还包括如何组装一个容器以及由谁来完成,因此您可以从生产服务器一路回到上游开发商。 Docker也实现增量上传和下载,类似于“git pull”,所以新版本的容器只能通过发送差异来传输。
组件重用。任何容器都可以用作“基础图像”来创建更专业的组件。这可以手动完成或作为自动构建的一部分。例如,您可以准备理想的python环境,并将其用作10个不同应用程序的基础。您理想的postgresql设置可以重新用于您所有的未来项目。等等。
共享。 Docker可以访问一个公共注册表(http://index.docker.io),成千上万的用户上传了有用的容器:从redis,couchdb,postgres到irc保险箱到rails应用服务器,以便为各种发行版本创建基础映像。登记处还包括由码头工作组维护的有用容器的官方“标准库”。注册表本身是开源的,所以任何人都可以部署他们自己的注册表来存储和传输私有容器,例如用于内部服务器部署。
工具生态系统Docker定义了一个用于自动化和自定义容器的创建和部署的API。有大量的工具与docker集成来扩展其功能。 (Dokku,Deis,Flynn),多节点编排(maestro,salt,mesos,openstack nova),管理仪表板(docker-ui,OpenStack Horizon,造船厂),配置管理(厨师,puppet),持续集成(jenkins,strider,travis)等。Docker正在迅速将自己定位为基于容器的工具的标准。
docker到底比LXC多了些什么的更多相关文章
- Docker到底是什么?为什么它这么火!
转载来自:http://cloud.51cto.com/art/201410/453718.htm 摘要:Docker这种新的容器技术可谓热得发烫,因为有了它,人们就有可能让数量多得多的应用程序在同样 ...
- Docker到底是什么
简单讲docker和vm虚拟机类似,都是在同一硬件上虚拟化出多个服务器应用实例的功能,据Bottomley声称,借助经过全面调优的容器系统,你就可以在同一硬件上拥有数量比使用Xen虚拟机或KVM虚拟机 ...
- [转]Docker到底是什么?为什么它这么火?
如果你是数据中心或云计算IT圈子的人,这一年多来应该一直在听到普通的容器.尤其是Docker,关于它们的新闻从未间断过.Docker1.0在今年6月发布后,声势更是达到了前所未有的程度. 动静之所以这 ...
- 3.Docker与LXC、虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,Docker底层是LXC,本质都是cgroups是在直接操作硬件
先说和虚拟化技术的区别 难道虚拟技术就做不到吗? 不不不,虚拟技术也可以做到,但是会有一定程度的性能损失,灵活度也会下降.容器技术不是模仿硬件层次,而是 在Linux内核里使用cgroup和names ...
- Docker与LXC、虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,Docker底层是LXC,本质都是cgroups是在直接操作硬件
先说和虚拟化技术的区别: 难道虚拟技术就做不到吗? 不不不,虚拟技术也可以做到,但是会有一定程度的性能损失,灵活度也会下降.容器技术不是模仿硬件层次,而是 在Linux内核里使用cgroup和name ...
- docker入门、LXC、windows container 和 Hyper知识基础、实用情况
虚拟机与容器 很明显可以看出两者在操作系统级别上的隔离和进程上的隔离的区别,VM因为隔离级别更高明显更重. linux容器主要技术特点: 文件系统隔离:每个容器都有自己的root文件系统 进程隔离:每 ...
- 3分钟,9个Q&A让你快速知道Docker到底是什么
不论是Google.Amazon.Microsoft.VMware都纷纷拥戴,加入Docker和Container所掀起的新时代云端虚拟化行列,这两项技术成为了IT界的新趋势.Docker和Conta ...
- 人均年薪50万以上,docker到底是什么?为什么这么火?
为什么要使用Docker? 场景一:公司双十一买了一堆服务器,技术总监让你给它们一个个都配置上JDK.Mysql.Redis等软件环境. 你心里小声嘀咕:"这总监不讲武德!"然后你 ...
- HTML5到底能给企业带来些什么?
一.改变企业网络广告的模式与分布 广告是企业网络营销的主要方式之一.十几年来,无论是展示还是互动,基本被Adobe Flash所主宰.然而,HTML5网页的多媒体特性.三维.图形及特效,超炫的浏览体验 ...
随机推荐
- k8s记录-不同集群服务互联
1.外部访问内部服务 添加nodePort 修改type:ClusteIP为type:NodePort 2.内部服务访问外部服务 kubectl create -f test.yaml apiVers ...
- 日志分类以及TFIDF
TF的概念是Term Frequent,是一个单词出现的频率,是一个局部概念,就是这个单词在指定文件中出现的频率,公式如下: 但是呢,这个TF其实很没有说服力,比如the,a之类的频率很高,但是其实不 ...
- 有相关性就有因果关系吗,教你玩转孟德尔随机化分析(mendelian randomization )
流行病学研究常见的分析就是相关性分析了. 相关性分析某种程度上可以为我们提供一些研究思路,比如缺乏元素A与某种癌症相关,那么我们可以通过补充元素A来减少患癌率.这个结论的大前提是缺乏元素A会导致这种癌 ...
- [LeetCode] 81. Search in Rotated Sorted Array II 在旋转有序数组中搜索 II
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...
- Java高级面试题整理(附答案)
这是我收集的10道高级Java面试问题列表.这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题.你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java ...
- zabbix解决中文乱码
解决中文乱码 yum install -y wqy-microhei-fonts #解决方法 中文乱码 \cp /usr/share/fonts/wqy-microhei/wqy-microhei.t ...
- Miller_Rabin算法_单个素数检测_启发式算法
/** Miller_Rabin 算法进行素数测试 快速判断一个<2^63的数是不是素数,主要是根据费马小定理 */ #define ll __int128 ; ///随机化算法判定次数 ll ...
- LeetCode 13. 罗马数字转整数(Roman to Integer)
13. 罗马数字转整数 13. Roman to Integer 题目描述 罗马数字包含以下七种字符: I,V,X,L,C,D 和 M. 字符 数值 I 1 V ...
- vue通过ajax加载json数据
HTML <ul id="Hanapp"> <li class="styVue" v-for="item in actList&qu ...
- 小程序云函数,解决接口https问题
本实例只是简单记录http请求 1,云函数如下 // 云函数入口函数 exports.main = async (event, context) => { let req = await got ...