Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer
前言:
Docker是有史以来增长最快的开源项目之一,在其周围的生态系统也是以类似的速度不断发展。由于这些原因,本书的重点完全在于Docker 的工具集。这一范围限定不仅能使内容选材更精准,帮助读者了解在他们的特有实例中如何应用Docker功能:一旦读者们牢牢把握住了本书涉及的基础知识,他们也能应对更大的问题,进而探索整个生态系统。
由于篇幅限制,文末有这电子书文档的领取方式
这个电子书的适用人群:
这里可以根据软件需求划分出一些能阅读本书的用户团体:DocKer用户和爱好者DocKer代码开发自愿者Java中高级开发工程师Java架构师有志于从事Java开源的相关技术从业者书籍目录
第一章:欢迎来到docker世界
什么是dockerdocker解决了什么问题为什么docker如此重要何时何处使用docker案例"Hello World"小结Docker包括一个命令行程序、一个后台守护进程,以及一-组远程服务。它解决了常见的软件问题,并简化了安装、运行、发布和删除软件。这一切能够实现是通过使用一项UNIX技术,称为容器。
第二章:在容器中运行软件
从Docker命令行工具获得帮助控制容器:建立一个网站的监控器已解决的问题和pid命名空间消除元数据冲突:构建一个网站构建与环境无关的系统建立持久化的容器清理小结学完本章,你就会明白容器使用的基本知识,以及Docker如何帮助解决混乱和冲突的问题。你将通过示例了解Docker功能的使用,而这些示例你可能会在日常使用中遇到。
本书下文都将使用Docker命令行工具。为了让你学会使用,我想告诉你如何从Docker程序本身获得有关命令的信息。这样,你就会明白在你的机器上如何使用合适版本的Docker。
第三章:软件安装的简化
选择所需的软件查找和安装软件安装文件和隔离小结安装任何软件的第一步是确定你要安装的软件。你知道软件是使用镜像发布的,但你需要知道如何确切地告诉Docker所要安装的镜像。我已经提到过,仓库存储着镜像,但在本章中我将展示仓库和标记以选择安装所需的软件镜像。
第四章:持久存储和卷间状态共享
存储卷的简介存储卷的类型共享存储卷管理卷的生命周期存储卷的高级容器模式小结就像在容器中运行一个数据库程序一样,你可以将这个软件打包在镜像中,当启动容器时,它将会初始化-一个空数据库。当其他程序接入该数据库并存入数据,这些数据要如何才能保存下来呢?是以容器中一个文件的形式吗?当你暂停- - 个容器或者删除这个容器,这些数据要怎么办?如果你想要升级数据库程序,这些数据怎么搬迁?
第五章:网络访问
网络相关的背景知识Docker的网络Bridged容器Joined容器Open容器跨容器依赖小结
第六章:隔离---限制危险
资源分配共享内存理解用户能力--操作系统功能的授权运行特权容器使用加强工具创建更壮健的容器因地制宜地构建容器小结容器提供的是进程上下文的隔离,而不是整个系统的虚拟化。这之间的语义区别可能看起来很微妙,但是产生的影响确实巨大。第1章稍微提了一下区别。第2到5章,每章都覆盖了一部分Docker容器的隔离特性。本章覆盖剩余的部分,并且包含了加强系统安全的内容。
第七章:在镜像中打包软件
从容器中构建镜像深入Docker镜像和层导出和导入扁平文件系统版本控制的最佳实践小结创建容器有两种方法,要么手工修改现有容器中的镜像,要么定义、执行一个名为Dockerfile的自动化构建脚本。本章关注于手工修改镜像的过程、镜像操作的基本机制、还有最终人工产生的镜像。Dockerfile 和构建自动化内容包含在第8章中。
第八章:构建自动化和高级镜像设置
使用Dockerfile 打包GitDockerfile入门注入下游镜像在构建时发生的操作使用启动脚本和多进程容器加固应用镜像小结Dockerfile是一个文件,它由构建镜像的指令组成。指令由Docker镜像构建者自上而下排列,能够被用来修改镜像的任何信息。使用Dockerfile 构建镜像使得很多任务变得非常简单,如同从计算机添加一个文件到容器中,只需要一行指令。本节包含了Dockerfile的基础知识、为什么使用Dockefile是最佳方式的原因、对Dockerfile指令的简要概括、如何添加未来构建行为的内容。
第九章:共有和私有软件分发
选择一个分发方法通过托管Registry发布私有Registry介绍镜像的手动发布和分发镜像源代码分发工作流程小结托管Registry提供了公有和私有仓库,以及自动构建工具。运行一个私有的Registry让你可以隐藏和定制镜像分发基础设施。分发工作流程的深度定制也许会要求你放弃Docker官方的镜像分发设施而构建你自己的镜像分发设施。有些系统甚至可能会放弃把镜像作为分发单元,而是分发镜像源代码。
第十章:运行自定义Registry
运行个人Registry集中式Registry的增强持久化的BLOB存储扩展访问和延迟的改进通过通知集成小结
第十一章:Docker Compose声明式环境
Docker Compose:第一天的启动及运行环境内的迭代开始一个新项目:三个示例中的compose YAML小结
第十二章:Docker Machine和Swarn集群
介绍Docker MachineDocker Swarn 介绍Swarn调度Swarn服务发现小结学习和解决分布式系统问题的第一步是构建一-个分布式系统,DockerMachine可以在几秒钟内创建和移除启用了Docker的主机集群。学习如何使用这个工具对于那些想要了解如何在分布式云环境或者本地虚拟环境使用Docker的人是必不可少的。
读者福利:
领取方式:关注我的供种号 (Java周某人) 即可领取
还有更多的Java进阶资料分享,包含Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。等等~