前言
看这篇文章前,让我们先了解下几个必须知道的内容:计算机虚拟化技术的由来、当红的Docker到底是什么、为什么它这么火、大数据时代下,测试人员如何应对和掌握Docker。
一、计算机虚拟化技术的由来
计算机虚拟化技术由来已久,其实虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU 并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。从硬件仿真到全虚拟化,再到准虚拟化和操作系统虚拟化,各种技术粉墨登场,种类繁多,说实在的有点眼花缭乱和复杂;但用户的核心诉求一直是比较简单的,降低信息技术(IT)的运营成本,提高资源利用率,提高安全性和可靠性等等;虽说用户的核心诉求比较简单,但每个时代的需求场景却是不同的。
二、当红的Docker到底是什么?
简单得来说,Docker是一个由GO语言写的程序运行的“容器”(Linux containers, LXCs); 目前云服务的基石是操作系统级别的隔离,在同一台物理服务器上虚拟出多个主机。Docker则实现了一种应用程序级别的隔离; 它改变我们基本的开发、操作单元,由直接操作虚拟主机(VM),转换到操作程序运行的“容器”上来。”Docker”的英文本意是码头工人,也就是搬运工,这种搬运工搬运的是集装箱(Container),集装箱里面装的可不是商品货物,而是任意类型的App(应用),Docker把App(叫Payload)装在Container内,通过Linux Container技术的包装将App变成一种标准化的、可移植的、自管理的组件,这种组件可以在你的latop上开发、调试、运行,最终非常方便和一致地运行在production环境下。
那么Docker有什么用呢?对于运维来说,Docker提供了一种可移植的标准化部署过程,使得规模化、自动化、异构化的部署成为可能甚至是轻松简单的事情;而对于开发者来说,Docker提供了一种开发环境的管理方法,包括映像、构建、共享等功能,而后者是本文的主题。
专业用语,用浅显易懂的例子说明就是:Costa的玻璃杯和星爸爸的马克杯都是装咖啡的容器,所以,Docker就是一个用来装应用的容器。它将原先不固定差异化的内容,按照既定的标准来发布。这对整个产品的交付周期来说是一次划时代的革命。砂锅馄饨的故事更是将容器的使用推上了更高阶段,同一个容器,贯穿开发测试生产和交付四个环节,带来的不仅仅是便利,也提升了产品质量,加速了迭代速度,减少了产品风险,还降低成本。
三、为什么Docker这么火
大数据背景下,Docker这么火爆是有其根本原因的,下面我们就来分析下Docker的优势。
优势:
快
运行时的性能可以获取极大提升(经典的案例是提升97%)
管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位的。
敏捷
像虚拟机一样敏捷,而且会更便宜,在bare metal(裸机)上布署像点个按钮一样简单。
灵活
将应用和系统“容器化”,不添加额外的操作系统,
轻量
你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以布署100~1000个Containers容器。
便宜
开源的,免费的,低成本的。由现代Linux内核支持并驱动。注* 轻量的Container必定可以在一个物理机上开启更多“容器”,注定比VMs要便宜。
生态系统
正在越来越受欢迎,只需要看一看Google的趋势就知道了,docker or LXC,还有不计其数的社区和第三方应用。
云支持
不计其数的云服务提供创建和管理Linux容器框架。
四、大数据时代下,测试人员如何应对和掌握Docker
目前,Docker这种新的容器技术可谓热得发烫,有了它,人们就有可能让数量多得多的应用程序在同样的旧服务器上运行;有了它,人们也很容易封装和交付程序。
作为大数据时代背景下的测试人员,不管从事的是大数据、云计算还是自动化测试,对Docker的需求比开发和运维都来的强烈。
如何应对和掌握Docker呢?4月16日起,博为峰网校特地以大数据时代下掌握Docker为主题开设了一场别开生面的直播课程。
《Docker入门与应用实战》直播系列课来袭!好评率100%的大咖手把手教你Docker容器的搭建与应用,利用虚拟化解决测试环境问题!
博为峰网校(www.atstudy.com),分享更多技术,官方交流群495153733,和大牛聊技术,开阔你的眼界
网友评论