• Docker技术使用场景主要特性等相关资源整理
  • OpenStack与Docker集成:使用openstack管理docker
  • Docker的隔离性和安全性问题
  • docker使用的技术之Container内核原理介绍
  • Docker详细的应用与实践架构举例说明
  • ​基于Docker的大数据开发实践
  • ​docker之轻量虚拟化技术——docker实战分享
  • 什么是docker?Docker技术详细介绍
  • 基于Docker容器的云计算平台搭建实战
  • docker和VM虚拟机的区别以及如何用docker搭建基础设施
  • ​Docker容器术语以及docker的特点
  • Docker & Docker Hub
  • Introduction to Swarm, a Docker-native clustering system
  • Docker、Kubernetes、Neutron中的网络简介
  • ​James Turnbull:《The Docker Book》
  • Docker on AWS:Running Containers in the Cloud
  • Introduction docker Container Security
  • docker应用之利用Docker构建自动化运维
  • Docker基本原理简介和详细安装步骤介绍
  • Docker 基础用法和常用命令及选项介绍
  • Docker 端口映射,端口绑定操作介绍
  • Docker 四种网络模式及网络配置详细介绍
  • docker下通过Dockerfile指令构建镜像的指令选项介绍
  • ​Docker 容器数据管理,链接容器,构建私有库
  • Docker容器分析----好处和缺点介绍
  • 如何实现 coreos 下Docker 与分布式数据库结合
  • 应对 Docker 网络功能难题的挑战与思考
  • Docker着手将容器部署到私有云与公有云
  • 为现在和未来改善Docker安全
  • Docker容器与企业存储的结合思考
  • Docker监控以及cAdvisor和Prometheus监控工具的对比
  • ​有关Docker的八个令人难以置信的事实
  • ​部署 Docker 前必须问自己的四个问题
  • 程序猿,千万别说你不了解Docker!
  • 将要改变IT世界的的docker技术是什么?
  • Docker支持更深入的容器日志分析
  • Docker宣布支持Windows 10和Azure Windows Server
  • Docker 1.12.0到底有哪些不同之处
  • 云计算之Docker容器技术如何落地?
  • Docker v1.12.0-rc5 普通版实验版本下载,高级容器引擎
  • 针对Docker容器的监控指标
  • ​Docker 的步伐:DevOps 与 OS 化
  • 八个问题帮你快速了解Docker
  • ​什么是Docker以及docker的 诞生技术演进
  • ​Docker v1.12.1-rc1各种版本发布下载,高级容器引擎
  • ​Docker 1.12.0 改进了服务的负载均衡参数
  • Windows下Docker应用部署相关问题详解
  • Docker1.12 引擎使用体验 ​
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • ​Windows Server 2016提供Docker原生运行的企业级支持
  • ​传统应用的docker化迁移
  • Docker携手Windows Server
  • Docker扁平化网络设计与实现
  • Plesk 中操作和设置 Docker 容器
  • 如何通过 Docker 在 Linux 上托管 .NET Core
  • Docker 1.12.4应用容器引擎发布及下载地址
  • Docker v1.13.0 应用容器引擎正式版发布及下载地址
  • docker源码分析之容器日志处理与log-driver实现
  • 如何在win7,win8下面启动docker
  • win7,win8安装Docker具体过程
  • win7, win8安装docker需要了解的概念
  • win7,win8安装docker的依赖条件
  • Docker Toolbox 介绍
  • Arch下面安装启动及删除docker介绍
  • Debian 7(Wheezy)下面如何安装docker
  • Debian 8(Jessie )下面如何安装docker
  • 红帽RHEL下如何删除docker详细步骤介绍
  • 红帽RHEL下面设置docker服务自动启动
  • linux下不使用sudo命令执行docker的操作步骤
  • 红帽redhat下通过脚本和yum安装docker容器引擎的详细步骤
  • 红帽RHEL下安装docker依赖性检查
  • Ubuntu Vivid 15.04 下面安装docker的详细步骤
  • Ubuntu Trusty 14.04 (LTS) 下面安装docker及依赖关系检查
  • Ubuntu Raring 13.04 和 Saucy 13.10 (64 bit)下面安装docker
  • Ubuntu Precise 12.04 (LTS) (64-bit)下面安装docker
  • Docker支持的安装方式
  • 通过docker ps命令检查运行中的docker镜像
  • 关于docker入门教程
  • 通过docker search命令搜索可用docker镜像
  • 在docker容器中运行hello world!
  • 在docker容器中通过apt-get安装新的程序
  • 通过docker commit命令保存对docker容器的修改
  • 通过docker run命令运行新的docker镜像
  • 准备学习docker: docker version命令查看版本
  • 什么是Docker?Docker通常用于如下场景
  •  
    当前位置:  教程>docker中文入门学习手册

    ​什么是Docker以及docker的 诞生技术演进

     
        发布时间:2017-2-20  


        本文导语: 什么是Docker以及docker的 诞生技术演进信息化,一个不可逆转的潮流,潮流之下,发展是一个亘古不变的话题。IT界同样如此,半年一浪,三载一潮,技术的迭代之快令人咂舌。5年前的Hadoop,3年前的OpenStack,到如今之Docker,无一...

    什么是Docker以及docker的 诞生技术演进

    信息化,一个不可逆转的潮流,潮流之下,发展是一个亘古不变的话题。

    IT界同样如此,半年一浪,三载一潮,技术的迭代之快令人咂舌。5年前的Hadoop,3年前的OpenStack,到如今之Docker,无一不是一浪高过一浪。说到发展,谈及热度,目前容器领域的新技术Docker,绝对是受到IT界前所未有的关注,因此也时常有人调侃:出门不知Docker,实乃IT从业人员难以启齿的隐痛。

    作为三年刚刚诞生的新生儿,Docker已然给云计算应用交付等多个领域带来巨大的革新。细谈Docker,我们却发现,Docker背后的容器技术,其实并非首创,早在十数年前,容器技术便已有雏形,那究竟为何Docker的席卷之势空前之大。不论是技术领域有什么独到之处,还是时势造就了如今大好的局面,我们都没有理由不来细细品鉴Docker这三年来的种种发展。

    什么是Docker?

    狭义而言,Docker是一款轻量级容器的管理引擎软件。云计算时代,可以帮助用户轻松实现分布式应用的“Build, Ship, Run”。

    广义而言,Docker是一家以容器服务基础硅谷公司,试图改变传统应用的构建与交付方式,创造应用模式的新时代。目前,从市场发展与技术影响而言,Docker凸显了极大的潜力。

    回顾Docker的三周年,从技术的发展到公司的运营,从产品布局到生态的建设,我们不由得感慨,下一个巨人是否就是这家logo是鲸鱼的公司。

    Docker诞生

    三年前的云计算,提到最多的关键字无疑是IaaSInfrastructure-as-a-Service,基础设施即服务)。企业往往通过IaaS技术建立起信息化的数据中心,有效地管理池化资源。如果历史的发展仅仅满足于此,那么科技也就会停滞不前。

    当时,在加州湾区以Solomon Hykes为首的几位天才工程师就在尝试,能否在资源之上,架构出一套完善的分布式平台,有效快速帮助用户的应用系统平稳运行。他们的公司实体也就是Docker的前身dotCloud。经历了一段时间的试水之后,历史并未遂这群极客的愿,dotCloud云战略的运营并非成功。

    然而,常言道,失败是成功之母,这句话印证在dotCloud身上再适合不过。失利的同时,Solomon敏锐地探到了,dotCloud体系的中的容器技术,反倒是解决了目前市场上用户应用构建、分发和发布的诸多痛点。痛定思痛,Solomom迅速技术转型,开始投向容器技术,并从一开始就开源,当时就吸引了为数不少的开发者

    时间定格在2013年3月,容器技术定名为Docker,原力诞生。

    技术演进

    诞生仅仅意味着不平凡的开始。后来的3年时间中,Docker立足技术,服务用户,培育市场,建立生态,发展历程可圈可点。

    开源、轻量级、API标准

    开源、轻量级、API标准,可以说是Docker在2013年起步时最重要的三大法宝。开源,吸引开发者,培养并壮大社区;轻量级,引发容器与虚拟机之间的众多思考创新之下,带来的是对未来无限的想象空间;API标准,看似不经意,事实却帮助Docker大大降低了上手门槛,同时也在最早时间占领了重要的高地——用户的使用习惯

    数据为王

    新手的三板斧,着实有模有样。而后的一年之间,Docker的定位似乎异常清晰,那就是围绕镜像,围绕Docker Hub,构建全球最庞大的镜像仓库。信息化时代,时常传有这样的一句话:技术可以复制,而数据无可复制。Docker Hub这个镜像仓库越是庞大,意味着Docker的用户群体的数量越惊人。

    进军生产环境

    2015年初开始,Docker一直谋求在企业生产环境中有所突破。随着社区的壮大,Docker Engine的发展也异常的快。Engine在逐渐成熟的过程中,经历了多次蜕变。Engine自身架构模块化的发展;在内核级别保障Docker化应用更高的隔离性;存储方面支持更多的驱动,如:aufs、devicemapperBtrFS、overlayFS、ZFS等;同时在日志管理等方面逐渐集成oracle iis7站长之家优秀产品。Engine功能的完善与稳定性提高,是Docker生态的一大基石。在此基础上,Engine上层的容器编排工具Compose)与集群管理工具(Swarm)迅速走入世人眼线,并与集群创建工具(Machine)合力,意图构建容器生态的三驾马车。

    进军生产环境之路,绝非一朝一夕,Docker同样招来了一些质疑。最令人深刻的,当属CoreOS与Docker的竞争。标准,无疑是如今行业的兵家必争之地。当时,容器标准和镜像标准迅速成为焦点。好在,最终在DockerCon 2015上,Solomon和CoreOS的创始人Alex Polvi最终握手言和,而Docker也将自己的容器技术实现libcontainer共享给Linux基金会,成立runC项目,与基金会一起建立并维护容器标准,此事对于整个容器生态而言,绝属一个利好消息

    集群能力

    三架马车的初具形态,容器标准的建立,依然无法掩盖外界对docker在某些方面的诟病,诟病最多的当属docker网络能力以及集群能力的薄弱。如果不能满足分布式应用的需求,docker的未来难免存在阴影。2015年年末1.9.0版本的发布,则标志着docker补上了自身的最后一块短板。无需借助第三方工具,docker即原生支持跨主机容器的直接通信。其中,主要借助docker engine原生支持overlay网络来完成。

    除了网络能力的重大突破,Docker的存储能力逐渐变得开放。Docker镜像方面,开始采用内容寻址方式,提高镜像利用率与安全性;容器存储方面,开放volume接口,方便用户集成第三方的存储解决方案,如Flocker、ScaleIO等。

    集群能力的完善,给用户带来的体验绝对空前。自此,Docker的一体化世界已成形态,在容器领域形成一个巨大的工具链生态。

    融资收购

    技术的迭代同时,Docker在资本市场的斩获也是捷报频传。融资的逐渐做大,也恰恰适应Docker的发展势头。Docker公司从2013年开始,一共经历了多轮融资,而且累计金额高达1.5亿。融资金额的巨大,意味着Docker将来一定要上市IPO,从而给投资方以回报。Docker的诞生至今,已经积累了大量的开发者,开发者市场可谓规模惊人,但是投资者和Docker都清楚,依靠开发者市场很难盈利,而上市IPO则必须有业绩,企业市场似乎就成了一条必经之路。纵观Docker的发展,不论是收购的步伐,还是产品的演进,商业化的意味也是逐步弥漫开来。

    Docker公司及其前身在融资方面的进展详见下表:

    融资金额宣布日期估值领投者投资者数量
    D轮2015年11月1800万美金--
    D轮2015年4月9500万美金-Insight Venture Partners
    C轮2014年9月4000万美金4亿美金红杉资本
    B轮2014年1月1500万美金-Greylock Partners
    A轮2011年3月1200万美金--

    资本的推动背后,Docker在收购方面,一直步步为营,循序渐进。从工具的吸纳,到平台的支持,到生态的构建,

    • 2014年7月,Docker收购Orchard掀起了收购的序幕,随后立即将Orchard的产品Fig更名为compose,成为Docker最重要的项目之一进行维护,辅助完善Docker容器的编排业务

    • 同年10月,Docker收购Koality,加速企业版DockerHub的开发,从而在企业级工作流程以及应用生命周期管理方面提供更自动化,更高效的服务。

    • 2015年的3年,Docker和SocketPlane走到了一起,容器的网络能力得到一定程度的突破,SocketPlane在SDN方面的经验,也帮助Docker成功孕育了后期libnetwork项目的发展。

    • 同年同月,Kitematic拥抱Docker,容器的自动化配置部署也帮助Docker在用户市场占领更大的份额。

    • 去年10月,震惊容器界的大新闻无疑是Docker对于Tutum的收购。这一举动将Docker的意图表现得再明显不过,容器化企业级应用的部署与管理版图初步完善。

    • 今年年初,Unikernel与Docker的结合,则和以往的并购案稍显不同。也许Docker早已察觉到在未来的容器世界中,操作系统是一个有待革命的领域。如何实现操作系统的精简,进而更好的支持容器的运行,很有可能是操作系统的变革之路,比如CoreOS的起点,也是基于这样的理念

    • 3月初,另一个大新闻则是Docker对于Conductant的收购。要知道Conductant的团队是Aurora项目的创始者,而Aurora则是Mesos之上最为成功的框架之一,用于支持长任务的运行以及周期性的任务。此举的意图无需多谈,对于应用的编排管理,Docker已经不甘示弱,奋起直追,力求与KubernetesMarathon正面竞争。

    Docker公司的收购案例详见下表:

    日期收购公司收购金额定位
    2016年3月Conductant未知应用集群调度
    2016年1月Unikernel Systems未知进入OS市场
    2015年10月Tutum未知补充容器运行时
    2015年3月Kitematic未知快速自动化配置部署
    2015年3月SocketPlane未知提高容器网络能力
    2014年10月Koality未知加速DockerHub企业版
    2014年7月Orchard未知提供服务编排

    产品布局

    资本可以支撑Docker的运作,收购则是Docker技术与产品的补充。围绕“Build,Ship,Run”这一宗旨,Docker提供了一系列极大方便DevOps团队管理应用的集成产品。进一步深入,你会发现Docker已经提供了4不同的产品:

    • Docker解决方案

    • Docker工具箱

    • 软件基础插件

    • 开放工业标准

    不论是公有市场,还是企业化的私有市场,Docker的解决方案完全覆盖了两个领域。公有的Docker Hub以及基于Tutum的Docker公有云,极大的满足了公有云容器市场。而商业版的Docker Engine,Docker Trusted Registry以及UCP,则作为企业市场的三件套,形成完善的DDC(Docker Data Center),构建一体化的Docker数据中心。

    针对开发者市场,Docker ToolBox则是一个专为开发者设计的工具包,从而实现云原生分布式应用的构建与运行。强大的工具包中几乎涵盖了Docker全部的开源项目,如:Docker Machine、Docker Swarm、Docker Compose、Docker Registry、Docker Engine以及Kitematic。

    更为底层的基础设施工具,Docker提供了RunC来支持通用容器运行时;Notary可以帮助用户完成受信内容的传输分发;Unikernel则可以精简用户操作系统的,从而使应用的运行更高效更安全

    开放工业标准方面,Docker领导成立开放容器项目(The Open Container Project),并将其贡献给Linux基金会,与Linux共同构建容器格式与运行时的开放工业标准。截至到今天,全球已经有诸如AmazonGoogleMicrosoftredhat等50家公司宣布支持该项目。而RunC项目则是专为OCP而生的容器项目,从此容器标准完全可以基于RunC来发展。

    生态之争

    纵观历史,没有哪项技术发展之快犹如Docker。伴随技术的发展,Docker生态的成长之势也是如此。

    容器引擎一向是容器技术的核心部分。随着OCP的成立,runC已经成为容器生态中的工业标准,而Docker也借助自己在用户群体方面的压倒性优势,成为容器引擎领域的事实标准。生态内相同的容器引擎,当然还包括CoreOS团队开源的rkt项目,然而在用户以及社区活跃度方面,都和Docker存在较大的差距。

    坐拥庞大的用户群,又有容器领域事实标准的优势,看似一家独大的局面形势大好。然而生态之争早已和一年前的形势大有差别。虽说容器标准之争暂告一段落,但接踵而至的则是更为激烈的容器编排(Container Orchestration)之争。

    容器编排是目前容器生态中最为聚焦的话题,几个容器的管理并非难事,而调度、管理和监控大规模可扩展的容器集群则是一个巨大的挑战。其中涉及的技术难点更多、更棘手,比如:多种类型的任务的处理,容器的最佳运行节点的规划,故障恢复,存储共享,负载均衡等。容器编排的生态之争,远比想象中的激烈。除了立足容器标准的Docker之外,老将、新兵均有参与。

    Mesos,作为分布式系统资源调度的先驱,很大程度上解决了大规模集群的资源问题,其提出的DCOS理念也逐渐被世人知晓。配合Mesosphere的Marathon的应用框架,可以说Mesos借助Docker的大潮,似乎看到了二次春天。然而如何和Docker更紧密的结合,发挥Docker原生的能力,则是Mesos亟需解决的问题。

    Kubernetes(k8s),其内部原型是Google内部拥有10年左右成功运营经验的Borg平台,目前支持Docker,对外开源。对于k8s的诞生,似乎从来没有人质疑过Google的超大规模容器集群管理能力。换言之,生态之争,k8s始终站在令人高山仰止的位置,然而这也未必不是一件好事。从用户群体以及容器技术的角度而言,亲Docker或是避Docker,Kubernetes并没有太多的选择,而通过容器编排这一绝对制高点出手,通过3至5年的时间发展,或许有能力达到不错的收效。市场往往也不是技术一点来左右的,若不能撼动Docker的用户基础以及无法应对Docker容器技术拒绝开放的可能性,都将有可能让Kubernetes面临被动。Kubernetes必须让用户接受两套标准:即Docker标准以及k8s自身标准,不得不说这是一种无奈之举。对于Docker Engine的高速发展,k8s无法完全兼容,更是在Docker容器的滞后支持上表现出了一定程度的疲态。总结而言,隔着Docker,接触用户,试图落地,会有不少挑战。

    Docker至今仍然视“Build,Ship,Run”为宗旨,编排(Orchestration)也许正在酝酿,至少布局之中,并未有太多的显露,当然本月初对于Conductant的收购,可能是较为明显的一步棋。如果说完备的工具链是进入企业市场的第一步,那么强大的容器集群编排将会满足企业内部进一步的需求。三年的时间,Docker把绝大部分的精力放在完善容器上,然而容器(Container)和应用(Application)之间总是隔着不可逾越的鸿沟。反观Docker,细细玩味,Docker定义的内容全部是容器的原语,只有在Docker Compose一层存在薄薄的应用原语。坐拥用户群与标准,高举“Docker Native”的大旗,在帮助用户转变应用模式方面,Docker责无旁贷。应用编排领域,Docker给外界的感受一直是不紧不慢,大有成竹在胸之态。生态之中,其他玩家最担忧的恐怕就是“Docker的釜底抽薪”了,也就是在开源的Docker Engine中添加更多的商业化考量,从而使得自身的竞争处于绝对的优势。担忧是一方面,Conductant的加入也让局势变得更加扑朔迷离,“应用”二字不再回避,瞬间应用编排生态在台面上呈“三足鼎立”之势。

    未来展望

    Docker三周年,IT界巨变的三年,巨变的是应用模式,是容器生态,是编排技术,更是千万软件工程师对时代的思考。

    厚积薄发,会是Docker未来几年内的最准备描述。而应用编排领域的竞争势必会更加白热化,鹿死谁手,三足鼎立抑或是百家争鸣,犹未可知。作为一个容器生态的参与者,很幸运能亲历时代的变迁。

    还是那句话,发展是一个亘古不变的话题,而这十年,你会相信是Docker引领吗?


      您可能感兴趣的文章:

    • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
      本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
      转载请注明:文章转载自:[169IT-IT技术资讯]
      本文标题:​什么是Docker以及docker的 诞生技术演进
    相关文章推荐:


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3