近些年来,以Docker为核心的容器技术如日中天。在企业“降本增效”的前提下,容器方案贯穿于应用的每个核心链路。众所周知,每轮新技术的兴起,对于个人和公司来说,既是机会也是挑战。因此,软件行业从业者的正确做法就是尽快上手,成为互联网时代的“弄潮儿”。
本书正是致力于此,为读者提供详细的Docker入门知识。按照“七步法”进行学习,读者可以轻松入门,学有所获。
为什么要写本书
本书提出了“七步法”的概念。
何谓“七步法”?“七”既是人们最容易记住的数字,也是人类瞬间记忆的极限,本书正是立意于此。
- 第一步是从具象的故事开始,开门见山,降低认知门槛。
- 第二步则通过“第一个Docker项目”,帮助读者快速上手。在读者建立起体系概念后,
- 第三步则直切核心原理,围绕Docker架构展开,由浅入深地讲解Docker底层的隔离机制、容器的生命周期、网络与通信、存储原理及源码。深入剖析,“知其然而知其所以然”。
- 第四步趁热打铁,围绕前后端项目,从全栈角度进行项目实战。
- 第五步则从Docker运维角度出发,进一步补充读者的知识图谱,这也是初学者最容易忽视的内容。
- 第六步开始就步入了高级应用,该部分重点围绕Docker技术最佳实践展开,提供了容器与进程、文件存储与备份、网络配置、镜像优化及安全策略与加固等内容,案例丰富,操作性强。
第七步则升华全书内容,通过云原生持续交付模型、企业级容器化标准及两个实际的企业级方案,串联本书所有内容。
至此,七步完成。读者可以清晰地感受每一步带来的技术提升,稳扎稳打,从而将Docker技术融会贯通。
本书的特点
(1)趣味易懂。
本书中较多的原理,剥除了Docker官方文档晦涩难懂的“外衣”,通过趣味故事展开。例如,通过“盖房子”来理解Docker是什么,通过“别墅与胶囊旅馆”来阐述容器与虚拟机的概念,通过“工厂和车间”来说明进程和线程,等等。读者无须记忆,就可轻松理解,这也正是本书想要传达的观点:技术并非神秘莫测,而是缺乏技巧。
(2)案例丰富。
本书第2章和第4~7章都包含大量的案例。不管是“第一个Docker项目”还是项目实战、企业案例,都包含了大量的代码讲解。读者完全可以按照教程逐步实现,体验Docker编程的乐趣。
(3)实操性强。
值得一提的是,本书案例均来自实际的研发项目,为了让读者能够轻松掌握,去除了容器中包含的业务逻辑,保留了Docker的核心架构,实操性强。熟练掌握本书中的案例,沉淀其所表现出来的方法论,读者一定能够在企业应用中灵活运用,事半功倍。
本书的读者
- 软件开发人员:有了Docker,软件开发人员可以聚焦业务逻辑,而不必再为了项目配置的差异、运行环境的不同而惆怅。
- 软件测试人员:软件测试人员每天都会面对大量的测试任务,手动执行测试用例会耗费大量的时间。在这种场景下,软件测试人员可以考虑使用Docker进行自动化改造。
- 软件运维人员:对于软件运维人员来说,Docker技术应该成为其一项必修的基本功。依赖Docker提供的灵活性、封装性及复用能力,软件运维人员可以轻松应对系统多版本差异,高效维护多个环境。
王嘉涛
2022年1月24日