专访笨叔叔:2019年可能是Linux年?(笨叔叔 linux)
636
2022-05-30
Docker这一容器化技术目前正处于新浪潮的中心,这一浪潮波及了应用的构建、打包和部署。它有可能影响计算机技术的方方面面,从应用程序的开发流程到应用程序如何部署以及跨大规模数据中心进行垂直和水平扩展。
尽管Docker非常流行,但它依然是一个非常新的项目,许多人并没有真正理解什么是Docker。
今天我们有幸请到了《深入浅出Docker》的译者刘康老师,来听听他的所思所想。
《深入浅出Docker》
译者:李瑞丰 刘康
异步社区:可以介绍一下自己吗?目前正在做哪些事情?
刘康:我是一枚年近不惑转行IT的大龄北漂大叔。回想上学的时候就对代码感兴趣,喜欢自己捯饬点玩意儿,人送“C++小王子”、“Java小王子”之类的称号,实则放到计算机学院连“儿童玩具”级别都算不上。
从读研实习开始,在咨询行业笑脸相迎地伺候各种甲方达五载有余,带给我的成长也是显著的,工作中提升了快速学习能力,Office熟练到用VBA都能写出俄罗斯方块来,也主导过企业业务系统的建设。Coding这件事,不曾拥有,也不曾远离,始终在心中是一件挥之不去的念想。
于是在2016年决定追求真爱,从浪潮信息开始了与IT的“甜蜜生活”,后来去过百度,目前在一家IT初创公司北京世纪诚链科技。庆幸自己转行还算及时,对“爱一行干一行”和“兴趣是最好的老师”有深切体会。现在主要关注DevOps、运维相关的领域。
异步社区:是什么原因开始翻译《深入浅出Docker》一书的?您是如何评价这本书的?
刘康:我是被老同事李瑞丰同学叫来翻译的这本书。他是Java大牛,在对待技术方面很认真很执着,所以当时打过电话来说一起翻译,我几乎没有犹豫,直接答应了。不过实话实说,大部分的翻译工作是瑞丰同学完成的,我恰好工作上抽不开身拖了后腿,但是这段经历很棒,对自己提升很大,如果有其他翻译机会,还算会毫不犹豫的。
我认为这本书结合了入门书和教科书的优点,既通俗易懂,同时又系统而深入,无论是初学者还是有一定Docker基础的,都可以从中得到提升。
异步社区:Docker于2017年秋发布了第1版专业资质认证,称为Docker认证工程师,《深入浅出Docker》中覆盖了认证考试的所有知识点,对于想通过认证的读者,您有哪些建议?
刘康:关注到该认证的读者通常是具有一定Docker基础和使用经验的,我想有一点需要注意的是,由于DCA是Docker公司的认证,因此考点自然是覆盖Docker企业工具集的内容,因此除了可能比较熟悉的关于镜像、容器及其网络的应用,还应关注用于编排和部署的Swarm、Stack,企业版工具UCP、UDT,以及诸如RBAC、DCT、DTR等企业级特性。
DCA是Docker官方的第一个认证,而《深入浅出Docker》也是至出版时第一本完整覆盖该认证考试的系统书籍,想通过认证的读者,建议从本书开始准备。
刘康:(瑞丰的回答^_^)Nigel Poulton作为Docker社区的领军人物,熟悉Docker相关技术并且热衷分享。还著有Data Storage Networking,The Kubernetes Book,对操作系统和虚拟化技术有着深刻的理解。
Nigel在pluralsight上已经分享了16部容器相关的视频教学资料,广受好评,对Docker和容器的推广发挥了重要作用。
异步社区:为什么有人会选择Docker而非大型二进制文件?
刘康:Docker相对来说有几个显著的优势。
首先我想是在CI/CD中的应用,容器具有天然的环境标准化的特点,从而弥合了研发、测试和运维之间的隔阂,使得DevOps的概念真正得到技术层面的支持,从而极大提升了研发与部署的效率。尤其是对于运维人员来说,使用容器更加自动化,Kubernetes等编排工具的加持又进一步推动了容器技术的应用。
此外,正如其名,Docker具有很好的可移植性,能够运行在多种不同的基础平台,就像一套家具家电放在不同的户型中可能会不合适,但是如果干脆开一辆五脏俱全的房车,甚至可以去到古城、草原、湖边,而对比房车的比喻,Docker的好处是,相对于大型二进制文件来说,本质上还是进程,并未带来显著的成本提升,但是灵活度大大提升。此外,版本控制、滚动升级也是大型二进制文件难以企及的优势。
对于向我这样有系统洁癖症的人来说,Docker简直是太大的福利了,它与米线摊总是喜欢把米线盛在套有塑料袋的碗中一样,吃完连同塑料袋一丢,留下干净的碗。当然这比喻既不环保也不健康,不过运维人员的管理方式却发生了类似的变化,对待集群中出现故障的节点,只需要自动化地kill掉容器从新起一个即可。而且这种隔离性也提高了安全性以及对于安全方面的可操作性。
异步社区:针对刚刚工作的小白,学习Docker您有哪些建议?
刘康:我觉得首先是要多动手,从使用者的角度,熟能生巧;过程中要深入理解计算、存储和网络方面的原理。然后结合Docker Compose、Docker Swarm、Kubernetes理解容器编排的使用。
最好能够结合应用场景,比如自动化测试、自动化运维,使用Docker和相关编排工具简化日常工作,提升团队研发效率,能够极大加深对容器应用的理解。
异步社区:您觉得运维从业人员的挑战和新要求是什么?
刘康:在现在互联网和云计算大行其道,持续集成与持续交付研发模式盛行的形势下,DevOps和SRE这样的先进运维理念越来越深入人心,运维的角色定位也在逐步发生变化,更加聚焦持续集成和发布、场景化的自动化运维、智能监控等概念的应用与实践,而传统运维软件逐渐难以适应运维的需求,运维人员也需要进行开发和平台建设,不仅要掌握容器技术、容器编排技术、虚拟化技术等底层技术,还要关注如何基于这些底层技术将自动化与智能化运维落地。
异步社区:Docker的优势是什么?您觉得最适合应用在哪些场景?
刘康:除了前面第5个问题提到的标准化、可移植、隔离性、安全性等优势以外,从研发的角度,由于Dockerfile、Compose文件、以及类似K8S这样的容器云管理平台的部署脚本的存在,使得Code as Infrastracture称为可能,比较适合用在测试与运维上。
测试方面,比如circleCI就是利用标准化的容器进行不同语言代码的自动化测试,持续集成的执行过程使用脚本描述,并落地到容器中进行执行。
运维的话更加适合互联网企业中更新迭代较快的大规模集群部署环境,通过灰度滚动发布,有利于快速更新业务需求,而完善的智能监控与故障自愈也为大规模集群的管理提供了便利。
异步社区:对于 Docker 改名 Moby ,大家怎么看?
刘康:从社区的普遍反映来看,跟多的人认为这个做法似乎有些过激了。
从商业角度,Docker公司处于产权保护,希望保有“Docker”这个词,主要指Docker公司及其产品,将开源内容调整到Moby,Docker与Moby的关系就像Redhat和Fedora。
从技术角度来说,正如本书中所言,Docker项目已经被拆分为许多模块,并且还在继续拆分,Moby项目更多作为总成项目用于集成构建各个子模块。
Docker的成功基于开源,以后仍将如此吧。
异步社区:Docker在web开发中得使用流程是怎样的?
刘康:Docker的作用之一是统一开发环境,因此在开发、测试与部署阶段应该使用一致的容器环境。该容器环境可以使用官方镜像,也可以团队自己构建镜像,构建的镜像的Dockerfile,以及搭建开发与测试环境的Docker Compose文件,应当作为代码的一部分置于版本管理中。
开发人员提交代码后,通常会触发持续集成流水线,自动化的代码检查、单元测试、集成测试等过程都应该由专门的Docker镜像启动容器来执行。持续集成流水线成功执行后,可自动或半自动触发持续交付。
交付部署的生产环境的容器镜像应与集成测试和冒烟测试的镜像一致,部署过程中借助容器编排工具进行灰度发布,通过AB测试观察稳定性和用户接受度,并逐渐滚动发布实现全量上线。
异步社区:最后,给刚入行的小白推荐3本专业书,您最想推荐哪一本?
刘康:学习Docker的话推荐《我的第一本Docker书》、《深入浅出Docker》,官方文档。
刘康:于2012年以自动化专业硕士学历毕业于山东大学。同年7月作为技术咨询顾问任职于埃森哲,客户为全球前百强的大型央企,期间先后参与和主导了十余个项目,主要侧重于企业信息化管理和数据分析能力的提升。由于对IT技术的痴迷,决定转行,并于2016年初加入浪潮信息,作为一名DevOps工程师,参与了项目组研发平台的设计、建设与维护,组织培训推动项目团队过度到CI/CD研发模式。2017年7月加入百度工程教练团队,负责支持手机百度研发团队的工程能力提升。2018年4月至今,作为运维开发总监任职于初创公司北京世纪诚链科技,工作内容涉及DevOps、BaaS平台建设、自动化测试、性能调优等方面。个人博客地址:https://blog.csdn.net/get_set。
《深入浅出Docker》
译者:李瑞丰, 刘康
推荐理由:
美亚操作系统排名第一的Docker入门书
被业内誉为:高中生也能看得懂的经典入门书
本书是一本Docker入门图书,全书分为17章,从Docker概览和Docker技术两部分进行全面解析,深入浅出地介绍了Docker的相关知识,清晰详细的操作步骤结合大量的实际代码帮助读者学以致用,将Docker知识应用到真实的项目开发当中。
题图来源:Hadi Malijani
本文转载自异步社区
软件开发
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。