Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

前言:

Docker是有史以来增长最快的开源项目之一,在其周围的生态系统也是以类似的速度不断发展。由于这些原因,本书的重点完全在于Docker 的工具集。这一范围限定不仅能使内容选材更精准,帮助读者了解在他们的特有实例中如何应用Docker功能:一旦读者们牢牢把握住了本书涉及的基础知识,他们也能应对更大的问题,进而探索整个生态系统。

由于篇幅限制,文末有这电子书文档的领取方式

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

这个电子书的适用人群:

  • 这里可以根据软件需求划分出一些能阅读本书的用户团体:
  • DocKer用户和爱好者
  • DocKer代码开发自愿者
  • Java中高级开发工程师
  • Java架构师
  • 有志于从事Java开源的相关技术从业者

书籍目录

第一章:欢迎来到docker世界

  • 什么是docker
  • docker解决了什么问题
  • 为什么docker如此重要
  • 何时何处使用docker
  • 案例"Hello World"
  • 小结

Docker包括一个命令行程序、一个后台守护进程,以及一-组远程服务。它解决了常见的软件问题,并简化了安装、运行、发布和删除软件。这一切能够实现是通过使用一项UNIX技术,称为容器。

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

第二章:在容器中运行软件

  • 从Docker命令行工具获得帮助
  • 控制容器:建立一个网站的监控器
  • 已解决的问题和pid命名空间
  • 消除元数据冲突:构建一个网站
  • 构建与环境无关的系统
  • 建立持久化的容器
  • 清理
  • 小结

学完本章,你就会明白容器使用的基本知识,以及Docker如何帮助解决混乱和冲突的问题。你将通过示例了解Docker功能的使用,而这些示例你可能会在日常使用中遇到。

本书下文都将使用Docker命令行工具。为了让你学会使用,我想告诉你如何从Docker程序本身获得有关命令的信息。这样,你就会明白在你的机器上如何使用合适版本的Docker。

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

第三章:软件安装的简化

  • 选择所需的软件
  • 查找和安装软件
  • 安装文件和隔离
  • 小结

安装任何软件的第一步是确定你要安装的软件。你知道软件是使用镜像发布的,但你需要知道如何确切地告诉Docker所要安装的镜像。我已经提到过,仓库存储着镜像,但在本章中我将展示仓库和标记以选择安装所需的软件镜像。

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

第四章:持久存储和卷间状态共享

  • 存储卷的简介
  • 存储卷的类型
  • 共享存储卷
  • 管理卷的生命周期
  • 存储卷的高级容器模式
  • 小结

就像在容器中运行一个数据库程序一样,你可以将这个软件打包在镜像中,当启动容器时,它将会初始化-一个空数据库。当其他程序接入该数据库并存入数据,这些数据要如何才能保存下来呢?是以容器中一个文件的形式吗?当你暂停- - 个容器或者删除这个容器,这些数据要怎么办?如果你想要升级数据库程序,这些数据怎么搬迁?

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

第五章:网络访问

  • 网络相关的背景知识
  • Docker的网络
  • Bridged容器
  • Joined容器
  • Open容器
  • 跨容器依赖
  • 小结

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

第六章:隔离---限制危险

  • 资源分配
  • 共享内存
  • 理解用户
  • 能力--操作系统功能的授权
  • 运行特权容器
  • 使用加强工具创建更壮健的容器
  • 因地制宜地构建容器
  • 小结

容器提供的是进程上下文的隔离,而不是整个系统的虚拟化。这之间的语义区别可能看起来很微妙,但是产生的影响确实巨大。第1章稍微提了一下区别。第2到5章,每章都覆盖了一部分Docker容器的隔离特性。本章覆盖剩余的部分,并且包含了加强系统安全的内容。

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

第七章:在镜像中打包软件

  • 从容器中构建镜像
  • 深入Docker镜像和层
  • 导出和导入扁平文件系统
  • 版本控制的最佳实践
  • 小结

创建容器有两种方法,要么手工修改现有容器中的镜像,要么定义、执行一个名为Dockerfile的自动化构建脚本。本章关注于手工修改镜像的过程、镜像操作的基本机制、还有最终人工产生的镜像。Dockerfile 和构建自动化内容包含在第8章中。

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

第八章:构建自动化和高级镜像设置

  • 使用Dockerfile 打包Git
  • Dockerfile入门
  • 注入下游镜像在构建时发生的操作
  • 使用启动脚本和多进程容器
  • 加固应用镜像
  • 小结

Dockerfile是一个文件,它由构建镜像的指令组成。指令由Docker镜像构建者自上而下排列,能够被用来修改镜像的任何信息。使用Dockerfile 构建镜像使得很多任务变得非常简单,如同从计算机添加一个文件到容器中,只需要一行指令。本节包含了Dockerfile的基础知识、为什么使用Dockefile是最佳方式的原因、对Dockerfile指令的简要概括、如何添加未来构建行为的内容。

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

第九章:共有和私有软件分发

  • 选择一个分发方法
  • 通过托管Registry发布
  • 私有Registry介绍
  • 镜像的手动发布和分发
  • 镜像源代码分发工作流程
  • 小结

托管Registry提供了公有和私有仓库,以及自动构建工具。运行一个私有的Registry让你可以隐藏和定制镜像分发基础设施。分发工作流程的深度定制也许会要求你放弃Docker官方的镜像分发设施而构建你自己的镜像分发设施。有些系统甚至可能会放弃把镜像作为分发单元,而是分发镜像源代码。

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

第十章:运行自定义Registry

  • 运行个人Registry
  • 集中式Registry的增强
  • 持久化的BLOB存储
  • 扩展访问和延迟的改进
  • 通过通知集成
  • 小结

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

第十一章:Docker Compose声明式环境

  • Docker Compose:第一天的启动及运行
  • 环境内的迭代
  • 开始一个新项目:三个示例中的compose YAML
  • 小结

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

第十二章:Docker Machine和Swarn集群

  • 介绍Docker Machine
  • Docker Swarn 介绍
  • Swarn调度
  • Swarn服务发现
  • 小结

学习和解决分布式系统问题的第一步是构建一-个分布式系统,DockerMachine可以在几秒钟内创建和移除启用了Docker的主机集群。学习如何使用这个工具对于那些想要了解如何在分布式云环境或者本地虚拟环境使用Docker的人是必不可少的。

Java架构进阶Docker实战,看完我成功拿到了字节跳动的offer

读者福利:

领取方式:关注我的供种号 (Java周某人)即可免费领取

还有更多的Java进阶资料分享,包含Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。等等~

发布了178 篇原创文章 · 获赞 29 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Javazhoumou/article/details/103067225