Docker 是 Golang 编写的, 自 2013 年推出以来,受到越来越多的开发者的关注。如果你关注最新的技术发展,那么你一定听说过 Docker。不管是云服务还是微服务(Microservices),越来越多的厂商都开始基于 Docker 作为基础设施自动化的工具。那么什么是 Docker?Docker怎么学?
今天我们有幸邀请到了《深入浅出Docker》译者李瑞丰老师,来听听他的所思所想。
异步社区:可以介绍一下自己吗?目前正在做哪些事情?
李瑞丰:我在2012年毕业于山东大学计算机科学与技术专业,同年7月加入英孚泰克,负责公司教育、气象等领域的多个项目开发。2015年加入浪潮信息,参与了虚拟化平台项目的建设,负责其中虚拟化存储相关工作。2017年加入美团外卖,负责门店相关业务的研发工作。长期关注新兴技术方向,对CI/CD保持极大的热情。
异步社区:是什么原因开始翻译《深入浅出Docker》一书的?您是如何评价这本书的?
李瑞丰:之前在浪潮时,参与研发的产品就属于虚拟化 & 云平台方向,所以一直也对相关领域的技术长期保持关注。但是网上的资料良莠不齐,学习的时候也遇到了不少痛点。机缘巧合中了解到《深入浅出Docker》已经被人邮谈下版权并且正在招募译者,而正好之前也看过这本书的英文版,觉得很不错,讲述的内容通俗易懂,不失为Docker初学者上手学习的佳作。
异步社区:《深入浅出Docker》最想推荐给谁看?怎么看?
李瑞丰:本书的内容相对基础,同时包含丰富的实操示例,非常适合Docker新手入门学习。此外,本书还包含了DCA考试相关的全部内容,并且Docker相关知识结构覆盖得很全面,对已经上车的Docker老司机也能起到查缺补漏的功效。
本书分为两大块:Docker概览与Docker技术,概览部分是对Docker历史发展&当前现状的一个整体介绍,同时包含了环境安装的相关步骤;Docker技术部分则循序渐进的对Docker核心技术点进行介绍,章节之间具有一定的递进关系。概览部分的内容,如果对Docker不熟悉的话强烈建议阅读,能很好地帮助理解Docker相关功能 & 特点。
Docker技术部分对于新手来说,建议循序渐进的方式依次学习;
对于Docker老司机来说,则可以有针对性的选择自己不熟悉的知识点对应章节进行学习;
对于想要参加DCA认证的同学,可以参考附录B,查看DCA考试相应知识点对应章节的内容,有针对性的进行学习 & 准备。
异步社区:Docker于2017年秋发布了第1版专业资质认证,称为Docker认证工程师,《深入浅出Docker》中覆盖了认证考试的所有知识点,对于想通过认证的读者,您有哪些建议?
李瑞丰:DCA是唯一的Docker官方认证,从权威性上来讲,毋庸置疑。
对于有丰富经验的Docker相关行业从业者,DCA是对自己Docker基本功的查缺补漏;
而对新入门的Docker工程师,DCA能帮助他们快速,完整的了解整个Docker的知识网络,为后续的发展构建一个良好的基础。
另外国内目前DCA相关资料比较缺乏,Nigel Poulton的这本书也为读者提供了很好的了解DCA的方式,非常值得一读。
异步社区:本书作者Nigel Poulton,亚马逊畅销图书作者,Docker Captains专家,存储专家,Docker技术先驱,您觉得作者在业内的影响力有哪些?
李瑞丰:Nigel Poulton作为Docker社区的领军人物,熟悉Docker相关技术并且热衷分享。著有Data Storage Networking,The Kubernetes Book,对操作系统和虚拟化技术有着深刻的理解。Nigel致力于创作最好的Docker和容器教学资源,在www.pluralsight.com上已经上传了16部相关的视频教学资料,对Docker和容器的推广有着重要的作用。
异步社区:曾经一度是容器代名词的 Docker,从开源创新者到转向企业用户,您怎么看待这件事?
李瑞丰:这也是开源软件发展的一种方式吧,并且是有着不少成功先例的。毕竟Docker的维护和迭代需要不少的人力和精力,单纯的开源社区模式运作起来会比较困难。同时Docker结合一些编排工具(如k8s)等,能帮助企业用户解决自身环境运维的很多痛点,转型企业用户也就成了一件水到渠成的事儿了。与此同时,to B 方向成功还能更好的反哺社区,保证社区的健康,良好的发展。所以在我看来,最终还是一件好事儿的。
异步社区:为什么有人会选择Docker而非大型二进制文件?
李瑞丰:PS:这个问题可能有点歧义,更常见的比较应该是Docker vs fat binary file。
关于fat binary file和Docker,在我个人看来,其实更像是两个不同层面的东西。如果单独将image拎出来,可能跟fat binary file还比较接近,但docker整体上,更偏向与一个工程问题的解决方案。选择Docker的可能性有很多,大部分都是因为Docker解决实际生产环境中的工程性问题,从而带来了效率的提升。
举一个例子:大型多服务部署场景下,如何管理各微服务的依赖、部署、启动等等流程?这个是 fat binary file所无法解决的。
异步社区:针对刚刚工作的小白,学习Docker您有哪些建议?
李瑞丰:尽量选择一本有体系性的书作为入门材料(如本书,),第一时间建立一个全面的知识网络是很重要的一件事儿。此外就是多加练习,有条件可以在公有云服务商上进行相应的实操,过程中会遇到很多读书本碰不到的问题,并且实际的印象也会深刻很多。
异步社区:Docker的优势是什么?您觉得最适合应用在哪些场景?
李瑞丰:Docker来源自VM,是一种更轻量级的虚拟化解决方案。比如现在的互联网公司中,频繁迭代部署的场景,包括弹性的扩容缩容需求,就非常适合使用Docker来支持。
异步社区:学习Docker除了书籍您最常逛的技术博客有哪些?有学习技巧可以推荐吗?
李瑞丰:如果英语基础不错,首推官网:
https://docs.docker.com/;
如果一定要看中文的话,可以参考:
http://www.docker.org.cn/,
其中有一个资源帖:
http://www.docker.org.cn/page/resources.html,比较不错。
【英】Nigel Poulton(奈吉尔 波尔顿)
在美国亚马逊,有一本书的影响力超高的Docker入门书,在操作系统分类中排行第一,超越了众多实力派Docker书,众多五星好评。也许你有所耳闻,这本书就是《深入浅出Docker》。
这是一本关于Docker的图书。这本书的宗旨是从零开始学习Docker,因此你无须任何前置知识储备。如果你对Docker感兴趣,希望了解Docker工作原理以及如何正确使用Docker,则本书适合你。同时本书也可作为Docker认证工程师考试的参考图书。
- END -