资讯专栏INFORMATION COLUMN

云计算核心技术docker的探索

yanest / 2762人阅读

摘要:的这种在安全可重复的环境中可移植,跨平台的快速部署软件的方式也方便做持续集成,所以说出现拉开了基于云计算平台发布产品方式的变革序幕,是运维人员的解放,广受开发者和运维人员的欢迎。

  首先通过一个简单的场景来看一下为什么docker这么火?

  开发人员在开发的时候是有一套开发环境,包括运行的操作系统,依赖的服务比如weblogic,java,一些特定的配置,比如jvm大小 ,字符集,操作系统内核参数等,然后就是应用代码了。当开发完成后,开发人员就把代码打包发送运维人员到生产上部署。运维人员就需要搭建一个和开发环境一样的生产环境,安装操作系统 ,weblogic,java,根据基线配置一些参数,过程非常的繁琐。搭建完成后还是可能因为两个环境细微的不同都有可能导致应用程序的部署失败。做为运维人员常常听到开发的抱怨,在我的环境里是正常的啊,怎么到你的环境就不行了呢!

  在传统的部署模式下,如果有非常多的服务器,运维工程师需要在每一台服务器上进行相当复杂的操作才能够完成部署。安装->配置->部署。但是docker的出现颠覆了这种传统的模式。我们看一下,docker只需要把整个开发环境做打包成一个docker image,也就是docker镜像给运维团队,而运维团队直接运行就可以了,整个过程就变成打包,传送,运行即可,非常的简单。因为docker镜像包含了所有的环境依赖关系,可以保证开发与生产环境一致,对于开发和运维工作,docker技术可以让开发和运维豁免很多预想之外的工作和相互推脱。此外,容器可以重复运行在任何地方,简单化了运维人员的工作 。 Docker的这种在安全、可重复的环境中可移植,跨平台的快速部署软件的方式也方便做持续集成,所以说docker出现拉开了基于云计算平台发布产品方式的变革序幕,是运维人员的解放,广受开发者和运维人员的欢迎。

  Docker ,除了是云时代的应用交付方式的变革,运维人员的解放,和微服务的结合使用还将颠覆传统的软件架构。我们先看一下单块架构和微服务架构的区别。单块架构就是一个实例里包含了多个业务模块,如果说电信行业的登陆,开户,缴费,话费查询等功能都运行在一个实例里,这样做有什么缺点呢?第一,随着业务的增长,这个单块会越来越大,变得很复杂,启动的时间也会越来越长,如果有bug要排查起来也会非常的复杂。第二,如果其中某一个业务模块异常将会影响所有其他的业务模块,造成整个业务系统瘫痪。第三,有些功能业务压力大,有些功能业务压力小,因为捆绑在一起,都只能一起增加或减少,这样就会造成资源的浪费。如果某个功能业务4个实例已经不能支撑了,而其他业务模块其实并没有什么压力,但是为了业务大的功能模块的业务压力,就需要增加一个实例。而微服务架构就可以解决这三个问题,把功能按模块运行在不同的容器里,相互不影响,各用各的资源,可以根据实现的业务压力而来启动相应的实例数。

  Docker的细粒度松耦合能够让我们用一个Docker容器装载一个场景功能,让每个Docker中运行一个微服务,为微服务应用程序创建出高效的分布式模型,从而顺利实现微服务概念的现实转化。

  那么docker究竟是什么呢?

  首先我们来看一下docker的标识,是一个大鲨鱼驮着一堆集装箱在海上航行。无边无尽的海就是云了,大鲨鱼货轮就是云计算平台了,docker是集装箱。集装箱将货运目标标准化,Docker 将应用程序标准化,集装箱里面装的以是任意类型的App,各自在自己的集装箱里运行,相互隔离,共用大鲨鱼货轮的资源,这种封装的集装箱可以放到任何的平台上去运行。非常形像的展示了docker的特性: Build, Ship and Run Any App, Anywhere!在任何平台运行任何应用!

  Docker的英文本意是码头工人,也就是搬运工,这种搬运工搬运的是集装箱。

  Docker是PasS提供商DoctCloud开源的一个基于LXC的高级容器引擎。

  Docker是一个由GO语言写的程序运行的“容器” 。

  Docker把App装在Container内,通过Linux Container技术的包装将App变成一种标准化的、可移植的、自管理的组件(集装箱)。这种组件可以在你的电脑上开发、调试、运行,最终非常方便和一致地运行在测试环境和生产环境下。

  Docker诞生的时间并不长,2013年3月发布0.1版本,到现在也才三年多,现在最新的版本是1.12,还在不断的完善中。但docker并不是一种新技术,而是基于Linux内核容器技术LXC的为适应时代需要、标准化IT结构的新方式,一种冲击虚拟化的新玩法。

  Docker解决LXC的两个问题集成度低,需要手工准备容器内文件系统的两个问题。

  Docker的整体结构包括两个部分,Docker Hub 和 Docker 引擎组成。Docker Hub提供API和云服务来发布基于Docker的应用程序。Docker Hub 是Docker 官方提供的容器镜像仓库,有大量的软件公司在其中维护自己的官方软件。目前已经有1万4千多个基于Docker的应用程序package,从操作系统的厂商,,云计算IaaS服务商,大数据,像各种各样的编程语言等等各种各样的软件,包含最流行的13个应用-CentOS, MongoDB, MySQL, Nginx, Redis, Ubuntu, and WordPress 等等,在云计算产业迅速发展的环境下拥有越来越丰富的生态系统。后者运行在宿主机上,是一个可以移植的,轻量的应用运行环境和打包工具,负责构建、运行和分发 Docker 容器。简单来说,Docker Hub 是资源存放的云平台,Docker 引擎是使用云上资源资源的终端,任何人都能到云上下载需要的资源,这就是容器云+端开放平台的模式。

  下面讲一下在docker的容器云+端开放平台结构下,应用程序的生命周期。先在本地基于Docker引擎构建和打包应用程序,然后用DockerHub云服务将程序(集装箱)放到DockerHub,希望运行此应用的平台再去下载和运行。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/4917.html

相关文章

  • Kubernetes在上汽集团平台及AI方面应用

    摘要:截至目前,已服务了上汽集团集团本部上汽乘用车上汽大通吉安物流赛客出行等余家汽车企业。经过这一两年的尝试及探索,上汽集团帆一尚行正式将列为产品线的重要产品,用以支撑整个容器平台的运行。最终在平台应用的层面,上汽集团也选择了进行应用于落地。 帆一尚行成立于2015年,是上汽集团的全资子公司,建设有上海、南京、郑州(在建)三个数据中心,拥有超过4000台物理服务器,10PB的数据存储,总面积...

    jayce 评论0 收藏0
  • 蓝汛CDN:边缘计算探索与实践

    摘要:与此同期,阿里正在进行边缘计算平台研究部署,蓝汛的热点可与其有效匹配,结合阿里在边缘计算上快速部署的特性,促使双方合作迈出新的一步。第十三届中国IDC产业年度大典在北京国家会议中心隆重召开,大会以赋能企业数字化转型为主题,汇聚了来自工信部和信通院的领导与专家,以及来自运营商、互联网、数据中心、云计算等多领域多行业的企业高管、嘉宾、媒体,共同探讨数字时代的技术创新与趋势。在13日的技术创新论坛...

    Pandaaa 评论0 收藏0
  • Kubernetes成为主流,对开发者而言是好是坏?

    摘要:云计算服务商所提供的方案工具和平台作用正在于此,我们不必从一开就担心如何配置如何维护如何优化等等问题。 技术圈里从来都不缺少热门的解决方案,而作为开发者,我们也总是被酷炫的新技术所吸引,期望这些新思路能够帮助我们应对技术挑战和业务问题。 然而问题在于,新技术成熟并获得广泛应用之前,我们很难判断该技术是否真的是我们用例的最佳选择。 因此一项技术成为主流,进而成为未来标准,本身不是一件坏事...

    Ilikewhite 评论0 收藏0
  • 网易容器平台微服务化实践(一)

    摘要:本文是网易容器云平台的微服务化实践系列文章的第一篇。网易容器云平台的前身是网易应用自动部署平台,它能够利用云提供的基础设施,实现包括构建和部署一体化在内的整个应用生命周期管理。目前网易云容器服务团队以的方式管理着微服务,每周构建部署次数。 此文已由作者冯常健授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 摘要:网易云容器平台期望能给实施了微服务架构的团队提供完...

    zhjx922 评论0 收藏0
  • 老肖有话说:雾霾天带你看清Crane技术实现之路

    摘要:今天为大家介绍的容器管理工具是数人云基于最新技术的一个开源项目。今天从技术角度分享一下数人云从设计到开发的实践之路。从控制面板说起数人云是一家开源技术的公司,最初希望做一个开源项目,相当于做了一次内部创新。数人云的技术栈是,正好与十分密切。 小数表示最近雾锁京城真是有些可怕,迷迷蒙蒙让人看不清远处,大家外出也要注意防霾哦! 容器管理面板Crane,是 数人云的第一个开源项目,那...

    Alliot 评论0 收藏0

发表评论

0条评论

yanest

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<