设为首页 收藏本站
查看: 1156|回复: 0

[经验分享] Docker它是个啥?

[复制链接]

尚未签到

发表于 2018-5-30 06:24:26 | 显示全部楼层 |阅读模式
  新技术越来越多,最近不断地被周围的朋友洗脑,俨然再不写点新技术,就没有脸在IT圈里混了。好吧,那让我也拥抱一下开源技术,写写Docker。那Docker到底是个啥?

  

  

Docker中文手册上是这样说的:

  Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

  

  

Docker与“集装箱”

  我们经常说Docker它帮助我们实现了“集装箱”的功能。
  

  现实世界中集装箱是这样的,它为我们解决了货物的运输问题, “集装箱”可以帮助我们解决各种型号规格尺寸的货物在各种运输工具上方便运输。
  

DSC0000.jpg

  

  那么IT技术中的Docker是干什么的呢?原来它是为了帮助我们解决软件的“运输”问题。它可以将各种应用程序和他们所依赖的运行环境打包成标准的container/image,进而发布到不同的平台上运行。
  

DSC0001.jpg

  

  所以,在某种程度上,Docker可以看作是用代码编写出来的国际集装箱。Docker可以把任何应用及相关依赖项打包成一个轻量、可移植、自包涵式的容器,该容器拥有标准的操作,从而能够实现自动化。

  

  

从集装箱的特点,看Docker

DSC0002.jpg

  
  内容无关性
  相同的集装箱几乎可以容纳任何类型的货物,Docker也可以封装代码、环境、配置文件,负载及其依赖项。
  

  硬件无关性
  集装箱允许把货物从船上运输到火车、卡车上,直到运输到仓库,整个过程无需整理货物或打开容器。Docker使用操作系统基元(例如:LXC)几乎可以在任何平台上运行——虚拟机、裸机、OpenStack、公共IaaS等,并且无需修改。
  

  内容的隔离和交互
  集装箱无需担心各种箱子里的货物是什么,它们之间会不会彼此影响,我们可以堆积运输。Docker让资源、网络和内容隔离,避免依赖性。
  

  自动化
  集装箱标准的规格使其易于实现自动化装卸、搬运等,Docker使运行、启动、停止、提交、搜索等都有标准的操作。
  

  高效,快捷
  集装箱无需打开或修改,可以在起始两地快速地移动/运输,Docker是轻量级的,一次构建可以随处运行,方便我们进行快速移动和操作。
DSC0003.jpg

  

  

那问题来了:Docker和虚拟化的区别是什么?
  

  讲段故事,来和大家解释一下
DSC0004.jpg

  

  

  

古代有一位国王在它的国境里视察,因为路面崎岖不平,还有很多碎石头,刺得国王的脚又痛又麻。
回到了王宫后,他下了一道命令,要将国内所有的道路都铺上一层牛皮。让他自己和全国的人走路不再受刺痛之苦。众大臣听了国王的话都一筹莫展,知道这很难。即便杀尽国内所有的牛,也凑不到足够的牛皮来铺路,而且花费昂贵。这时,一个聪明的仆人向国王建言:可以试着用牛皮将脚包起来,大王的脚就不会忍受痛苦了。国王听道而顿悟了,便收回命令,采纳了建议,于是,皮鞋就这样发明了出来了。



  

  引申到Docker和虚拟化

  OK,大家一定想问我,韩梅梅童鞋你想说明什么?回顾一下故事,解决脚痛不方便的方案有二:第1方案是:将所有道路都铺上一层牛皮(如VMware),实在不经济实惠。第2方案是:用两片牛皮包住脚,这就是皮鞋(Docker集装箱)。那么,你领悟到什么呢? 至少明显知道第2方案可带来可观的经济效益。
  

  传统的虚拟化(virtualization)技术就相当于在各道路(实体机器)上铺一层牛皮(VM, 虚拟机),然后让国王的脚(App)在牛皮(VM)上走路(执行)。传统上云平台采取虚拟化手段来满足用户个别的资源需求分配,以及确保其可用性和隔离性。然而无论是KVM还是Xen等Guest OS都很浪费资源又难于管理, 都不如Docker集装箱(皮鞋)来的更加灵活、快速和节省资源。
  

好吧,放张比较图让大家看一看

  

DSC0005.jpg

  

  

那问题又来了:Docker会不会取代虚拟化

  现阶段,传统的虚拟技术还不会被取代。Docker或者说容器技术和虚拟机并非简单的取舍关系。目前,很多企业仍在使用虚拟机技术,原因很简单,他们需要一个高效,安全且高可用的架构。然而,刚刚面世两年的Docker还没有经历沙场考验,CaaS(Container as a Service,容器即服务)概念也是近两年才刚刚出现。无论是应用管理还是运行维护方面,Docker都还处于发展与完善阶段。
  

结语

俗话说:天下武学,唯快不破;在更新迭代如此之快的IT更是如此,一夜成名早已不是什么新闻。Docker 这个技术公司,向我们证明了,成为一个"国际巨星",只需要一个月。2013年2月决定开源,到2013年3月20日发布Docker0.1,只用了一个月的时间。到今天,一个围绕着Docker的小型初创企业生态体系逐渐形成。Docker先后赢得了Google、微软、Amazon、VMware等巨头的青睐,巨头们纷纷示意将保证自己平台与Docker容器技术的兼容性,Docker势不可挡。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-482745-1-1.html 上篇帖子: docker 创建启用systemd服务的容器 下篇帖子: docker高级应用之镜像打包与节点推送
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表