忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT 视频 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
1234下一页
最近访问板块 发新帖
查看: 48584 | 回复: 30

云计算的明星技术Docker:为啥这么火? [复制链接]

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152014年中国系统架构师大会
日期:2015-06-05 16:54:182011年中国系统架构师大会
日期:2015-06-05 16:54:392012年中国系统架构师大会
日期:2015-06-05 16:54:392013年中国系统架构师大会
日期:2015-06-05 16:54:39
发表于 2014-10-11 16:27 |显示全部楼层
获奖名单已公布http://bbs.chinaunix.net/thread-4164776-1-1.html


作为云计算的当红明星Docker 来势汹汹,它就像一场森林大火,这个新的Linux容器技术以它自己的方式点燃了周围的一切,我们许多人难以跟上它蔓延的速度。Docker不仅是历史上最流行的开源项目之一,而且也从根本上改变了人们构建应用程序的思维方式。



谈到容器,很少有人知道,但大多数人多年来一直在使用容器。为什么大家都追捧容器和Docker呢?谷歌就有自己的开源容器技术lmctfy(Let Me Contain That For You,意为“让我容纳你的程序”)。只要你使用谷歌的某项功能:比如搜索、Gmail、Google Docks或无论其他什么,就分配了一个新的容器。



Docker 是由 PaaS 提供商 dotCloud 在 2013 年创建的一款开源应用引擎,Docker的本质是Container,被形象地看作一个应用封装容器,以往开发者开发一款应用,需要考虑硬件、操作系统、运行环境的适配,有了容器就不用考虑这些了。现在开发者只需专注于开发软件,不需要考虑在哪运行自己的软件,这也是云计算的发展方向。Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。



本期话题:

1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?

2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?

3.从架构的角度来讲,Docker主要由哪些组件组成?

4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?



活动时间:2014年10月11日-2014年11月15日


活动奖励:选取最佳会员若干名赠送技术图书一本


Docker.jpg

论坛徽章:
39
水瓶座
日期:2013-08-15 11:26:422015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之乌兹别克斯坦
日期:2015-03-27 14:01:172015年亚洲杯之约旦
日期:2015-03-31 15:06:442015亚冠之首尔
日期:2015-06-16 23:24:37IT运维版块每日发帖之星
日期:2015-07-01 22:20:002015亚冠之德黑兰石油
日期:2015-07-08 09:32:07IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:00IT运维版块每日发帖之星
日期:2015-10-11 06:20:00IT运维版块每日发帖之星
日期:2015-11-10 06:20:00
发表于 2014-10-12 18:30 |显示全部楼层
本帖最后由 forgaoqiang 于 2014-10-23 21:15 编辑

1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?
Docker 和 Vmware ThinAPP原理类似,就是提供一个应用环境的容器,应用程序在容器中运行,具有自己的环境,而且Docker能够像Java一样提供一致的运行环境,屏蔽不同发型系统的差异性,而且方便应用的开发、回滚、测试。

这个是ThinAPP,Vmware的桌面级产品,用了好长时间,感觉就是好,能够在同一个系统下运行不同版本的同一个程序而毫无冲突,而且ThinAPP打包的应用具有良好的移动性,能够放到U盘等移动工具中,跑到另一台电脑直接运行。
package-deploy-diag.png
Docker也是类似的功能,而且是谷歌Go语言的成功之作,相比Vmware具有开源免费等先天优势。
docker-filesystems-multilayer.png


2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?
虚拟化层次不一样,当然开销就不同,而且VM指的是Virtual Machine,是对整个系统的虚拟化,而Docker更像是Xen这种半虚拟化(应用虚拟化层次),既然不是一个重量级的,必然开销和效率不同。
另外隔离程度也是完全不同的,VM能够完全隔离不同操作系统的行为,Docker只是隔离程序之间,因此可以在一个系统上运行相同的程序的不同配置版本。


3.从架构的角度来讲,Docker主要由哪些组件组成?
Docker的组成结构就是:Docker Engine、Docker Hub,Docker Engine是runtime以及打包用的工具,Docker Hub是云端服。

4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?
Docker和VM领域中的操作系统虚拟化不同,它提供的是一个 程序虚拟化,和Java是类似的,但是Docker是开源的,也就是很有可能成为下一个Java,能够改变整个应用安装、使用的历史,是一个革命性的创新,各大厂家都能看出来。现在Windows Server也要开始支持,以后Docker不仅可以运行在Linux,以后也可以运行在Windows,基本上就是全平台了,意义重大。


论坛徽章:
22
CU大牛徽章
日期:2013-09-18 15:22:06摩羯座
日期:2014-03-25 23:51:36技术图书徽章
日期:2014-04-03 16:47:26白羊座
日期:2014-04-14 22:56:32午马
日期:2014-05-16 17:18:08未羊
日期:2014-08-12 22:15:31神斗士
日期:2015-11-20 17:26:2515-16赛季CBA联赛之浙江
日期:2016-03-15 18:27:4215-16赛季CBA联赛之同曦
日期:2016-03-22 09:21:0115-16赛季CBA联赛之北控
日期:2017-03-26 21:47:12寅虎
日期:2014-03-25 21:54:32寅虎
日期:2014-06-03 10:53:34
发表于 2014-10-12 19:23 |显示全部楼层
1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?
快速部署(一次打包多点部署超快),方便回滚,轻量,差异化下载,一台机器开上百个container都可以

2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?
docker底层是lxc(操作系统级别虚拟化),而vm则是全虚拟化,层次本身就不一样。
另外docker是差异化更新的(aufs,不过貌似有别的技术准备替换),非常省空间。

3.从架构的角度来讲,Docker主要由哪些组件组成?
lxc是最重要的,另外就是liblxc,不过好像准备把这个库给替换成别的...

4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?
估计就是在docker层之上弄个管理层吧,openstack现在也想把docker纳进来了,之前是直接管lxc的。

求职 : Linux运维
论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:15:0815-16赛季CBA联赛之山东
日期:2016-10-31 10:40:10综合交流区版块每日发帖之星
日期:2016-07-06 06:20:00IT运维版块每日发帖之星
日期:2016-02-08 06:20:00数据库技术版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-10 06:20:00黄金圣斗士
日期:2015-11-24 10:45:10IT运维版块每日发帖之星
日期:2015-09-01 06:20:00IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:012015年亚洲杯之巴勒斯坦
日期:2015-05-05 10:19:03
发表于 2014-10-13 19:10 |显示全部楼层
docker正在让应用和硬件真正的解耦。之前的虚拟化是操作系统级的。我们可以把操作系统装在由宿主机管理的硬件上。这个过程让操作系统可以成为一个底层操作系统上的一个超大应用程序。现在的DOCER正在将应用本身和操作系统之间进行解耦。之前的应用系统部署必须摇硬件-》操作系统-》应用程序。现在在DOCKER下。应用系统的部署变成了DOCKER-》应用程序。这样DOCKER可以非常容易的实现应用系统和操作系统的解耦。DOCKER何以管理一大堆的操作系统。这样应用就只保留和DOCKER的应用界面。从上层看起来。应用程序部署再DOCKER上就像直接部署在硬件上。而实际上它就是一层更大规模的软件系统平台。应用在其上将摆脱因为之前因为硬件和操作系统带来的应用下线故障。这也让未来的应用迁移已经更大规模并行变得更加易于部署和管理。硬件将变得越来越通用。操作系统也将必然走向通用化。而应用代码才是未来真正的核心。

论坛徽章:
14
午马
日期:2015-01-19 14:08:552017金鸡报晓
日期:2017-01-10 15:13:29黑曼巴
日期:2016-11-07 11:24:56PHP
日期:2016-10-25 16:06:46技术图书徽章
日期:2016-07-19 13:54:03黄金圣斗士
日期:2015-11-24 10:43:13IT运维版块每日发帖之星
日期:2015-09-25 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:002015亚冠之阿尔纳斯尔
日期:2015-07-27 11:17:582015亚冠之广州恒大
日期:2015-07-24 15:04:162015年亚洲杯之乌兹别克斯坦
日期:2015-04-01 13:28:012015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-10-14 08:50 |显示全部楼层
1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?
更容易部署一致的生产环节
单元测试时回滚更容易

2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?
(待编辑)

3.从架构的角度来讲,Docker主要由哪些组件组成?
Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。同VM的方式不同, LXC 其并不是一套硬件虚拟化方法 - 无法归属到全虚拟化、部分虚拟化和半虚拟化中的任意一个,而是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观。
docker背后的一系列技术 - namespace, cgroup, lxc, aufs等
namespace 用于保证隔离性,使每个用户实例之间相互隔离, 互不影响
cgroups 用来控制资源,实现对用户实例的按需提供资源以及使用资源的度量
aufs 用来实现实例的复制、移动和重建

4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?
Docker内部使用的是Linux容器技术(LXC),运行在与它的宿主机器同样的操作系统上。使得它可以和宿主机器共享许多系统资源。
使用Linux容器虚拟化技术(LXC),隔离性方面有所缺失,但是他们更加轻量,而且需要更少资源。
docker使你可以将OS快照存入一个通用的镜像,并使得在往其它的docker主机上部署时变得容易。对于本地,开发、质量管理、产品等等,都是用的同一个镜像。在解决部署环境一致性的问题上更加方便、快捷。

论坛徽章:
0
发表于 2014-10-14 10:10 |显示全部楼层
1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?

由于Docker封装底层的不同,提供一个透明的容器,使得开发环境完全一致,提供给运维团队的镜像也是一致的,减少的运维团队的错误配置。

2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?

(1)docker的最低层是lib库,一个linux上的所有docker的内核版本都是一致的; VMs从系统底层开始虚拟,包括内核版本,发行版本都不一样。docker仅仅为应用层封装了底层,所以轻量。

(2)从磁盘占用量上讲,每个VM至少需要打包一个root分区和应用分区(如opt分区),最终一个image会很大,客户一般要求50G的磁盘; 而docker会节省很多,所有docker应用会共享一个通用rootfs,当然每个docker都可以增加、删减一些lib库。

3.从架构的角度来讲,Docker主要由哪些组件组成?

主要是四个组件吧:namespace, cgroup, lxc, aufs
namespace 将每个docker应用互相隔离开。
cgroups 控制每个docker应用对cpu,memory,net,io等等的访问能力
aufs 保证docker对rootfs共享的同时,允许个性化配置自己的root

4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?

(1)通过docker可以发布更容易安装,更容易配置的系统,以前商业公司都是发布一个一个的软件包(rpm,deb,exe),有了docker可以发布一个一个的轻量级应用,并且无需多余的配置。
(2)利用docker作为底层,发布更高级的上层管理平台。

论坛徽章:
29
CU大牛徽章
日期:2013-05-20 10:45:13数据库技术版块每日发帖之星
日期:2015-09-07 06:20:00每日论坛发贴之星
日期:2015-09-07 06:20:00每日论坛发贴之星
日期:2015-09-07 06:20:00数据库技术版块每日发帖之星
日期:2015-12-13 06:20:0015-16赛季CBA联赛之江苏
日期:2016-03-03 11:56:13IT运维版块每日发帖之星
日期:2016-03-06 06:20:00fulanqi
日期:2016-06-17 17:54:25IT运维版块每日发帖之星
日期:2016-07-23 06:20:0015-16赛季CBA联赛之佛山
日期:2016-08-11 18:06:41JAVA
日期:2016-10-25 16:09:072017金鸡报晓
日期:2017-01-10 15:13:29
发表于 2014-10-15 17:08 |显示全部楼层
1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?
Docker可以将程序员开发的各种应用变成一种标准化的、可移植的、自管理的组件,可以在任何主流系统中开发、调试和运行。
而且,Docker不依赖于任何语言、框架或系统。

2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?
根据图片的分层结构,Docker部署的应用其整体架构上少了客户端OS,用Docker Engine代替了客户端OS和Hypervisor两层。
我查阅了Docker的官方文档,Docker使用了Linux的LXC容器,使得可以利用Host层的OS提供的能力,可以分享主机操作系统的资源,还可以使用AuFS文件系统,还可以管理网络等。
其次,Docker对磁盘的消耗远低于VM。比如1GB的容器镜像,且我们需要100个,如果我们使用完整的VM,那么需要的磁盘空间是1GB的100多倍;而使用Docker,通过LXC和AuFS技术,可以共享容器OS的空间,所消耗的磁盘空间可能只是1GB多一些。
完整的VM在资源共享方面是最低的,隔离性很好,但太“重”了。而Docker做到了很高的资源共享,但隔离性仍然很好。

3.从架构的角度来讲,Docker主要由哪些组件组成?
Docker的组件包括:Docker Engine、Docker Hub两部分组成。
Docker Engine是一个便捷、轻巧的运行时和打包工具。
Docker Hub是一个云服务,可以共享应用程序和提供自动化的工作流。

4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?
Docker不限开发语言,Docker化的应用程序可以任意移植、任意运行;
Docker管理和跟踪变更和依赖;
Docker消除了组件开发、测试、生产环境之间的差异。
Docker适合云计算应用的部署。

论坛徽章:
0
发表于 2014-10-12 11:53 |显示全部楼层
我坐沙发。坐等话题讨论。

论坛徽章:
129
操作系统版块每日发帖之星
日期:2016-05-11 17:06:57操作系统版块每日发帖之星
日期:2016-05-11 17:06:57数据库技术版块每日发帖之星
日期:2016-05-11 17:07:05操作系统版块每日发帖之星
日期:2016-05-11 17:06:57操作系统版块每日发帖之星
日期:2016-05-11 17:06:57综合交流区版块每日发帖之星
日期:2016-05-11 17:07:052022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:57IT运维版块每日发帖之星
日期:2016-05-11 17:06:49操作系统版块每日发帖之星
日期:2016-05-11 17:06:57综合交流区版块每日发帖之星
日期:2016-05-11 17:07:05操作系统版块每日发帖之星
日期:2016-05-11 17:06:57程序设计版块每日发帖之星
日期:2016-05-11 17:06:57
发表于 2014-10-12 12:35 |显示全部楼层
看到书,就眼睛花花的

论坛徽章:
9
寅虎
日期:2014-06-03 14:10:05午马
日期:2015-01-08 16:49:52白羊座
日期:2015-01-16 12:58:182015年迎新春徽章
日期:2015-03-04 09:57:092015元宵节徽章
日期:2015-03-06 15:51:33NBA常规赛纪念章
日期:2015-05-04 22:32:03IT运维版块每日发帖之星
日期:2015-08-04 06:20:0015-16赛季CBA联赛之北京
日期:2015-12-14 09:40:0315-16赛季CBA联赛之青岛
日期:2016-07-25 11:23:07
发表于 2014-10-12 22:38 |显示全部楼层
Docker反正最近感觉他很火,不过自己还没有研究呢。最近一直在学习KVM

论坛徽章:
34
CU大牛徽章
日期:2013-04-17 11:10:17CU大牛徽章
日期:2013-09-18 15:26:10狮子座
日期:2013-09-27 17:44:07CU十二周年纪念徽章
日期:2013-10-24 15:41:34射手座
日期:2013-10-24 21:01:23辰龙
日期:2013-12-20 17:07:19狮子座
日期:2014-05-12 11:00:00寅虎
日期:2014-06-04 16:25:27IT运维版块每日发帖之星
日期:2015-08-17 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43数据库技术版块每日发帖之星
日期:2015-12-01 06:20:00平安夜徽章
日期:2015-12-26 00:06:30
发表于 2014-10-13 11:07 |显示全部楼层
本帖最后由 laputa73 于 2014-10-13 11:16 编辑

这个思路很好,应用层的VM
相当于一个分布式的OS,而不是一个分布式的机器
和传统的VM比 ,不需要再操心OS安装和资源分配
对于应用,屏蔽底层的分布式差异
相当于开发一个应用,比如webgame,自动可以获得分布式的接入能力(HA)、存储能力(分布式文件系统)和计算能力(负载均衡)


求职 : Linux运维
论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:15:0815-16赛季CBA联赛之山东
日期:2016-10-31 10:40:10综合交流区版块每日发帖之星
日期:2016-07-06 06:20:00IT运维版块每日发帖之星
日期:2016-02-08 06:20:00数据库技术版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-10 06:20:00黄金圣斗士
日期:2015-11-24 10:45:10IT运维版块每日发帖之星
日期:2015-09-01 06:20:00IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:012015年亚洲杯之巴勒斯坦
日期:2015-05-05 10:19:03
发表于 2014-10-13 21:28 |显示全部楼层
我比较关心DOCKER的IMAGES如何制作,毕竟现在的在线组件安装让人觉得很烦。另外就是我也非常关系IMAGES到底是如何被DOCKER加载的。第二我也很关心COEROS的双螺旋结构的根分区形式什么时候能成为LINUX系统各个发行版本的标准配置。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

【有奖调查】AI时代如何迎接未知挑战?

人工智能一直在医疗行业扮演着重要角色,最早的专家系统和后来的基因诊断都是人工智能技术在医疗的行业探索。近年来,随着深度学习等技术的进步,人工智能在医疗行业的应用领域不断扩展,医学影像智能诊断、语音电子病历、癌症智能诊断等均已逐渐成为热门发展方向。
而作为人工智能重要推动力的深度学习技术的快速发展却亟需认知系统的强力支撑。
----------------------------------------
活动时间:2017年5月15日-6月5日

调查入口>>
  

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP