沃新书屋 - Docker实战
本书资料更新时间:2025-05-10 08:34:29

Docker实战

Docker实战精美图片

Docker实战书籍详细信息


内容简介:

自从2013 年3 月Docker 0.1 版本发布以来,以其为代表的容器技术也走上了快速发展之路,Docker容器在很大程度上改变了软件的架构设计、开发和运维部署方式,也给早些年就提出微服务的架构模式插上了快速起飞的翅膀。《Docker实战》由Docker 社区第一人Jeff Nickoloff 编写,共分为3 部分,第1 部分(第1~6章)重点介绍了Docker 容器的资源隔离和权限控制及基础原理,第2 部分(第7~10 章)详细解释了如何打包构建镜像以及各种镜像分发基础设施的建设,第3 部分(第11~12 章)聚焦于Docker 容器的组合操作,也就是多容器和多主机环境的管理。《Docker实战》图文并茂,结合基本原理和具体案例给大家提供了多个不错的实战机会。 作为目前热门的容器技术类图书,《Docker实战》适用于互联网,云计算,企业级软件开发、架构、测试,以及运维人员快速上手的Docker 容器;同样适用于搭建以Docker 为核心的基础设施,并在生产环境中快速部署应用以及管理容器集群。

书籍目录:

第1 部分 保持一台整洁的机器 第1 章 欢迎来到Docker 世界 2 1.1 什么是Docker 3 1.1.1 容器 3 1.1.2 容器不是虚拟化 4 1.1.3 在隔离的容器中运行软件 4 1.1.4 分发容器 6 1.2 Docker 解决了什么问题 6 1.2.1 组织有序 7 1.2.2 提高可移植性 8 1.2.3 保护你的机器 9 1.3 为什么Docker 如此重要 10 1.4 何时何处使用Docker 11 1.5 案例:“Hello World” 11 1.6 小结 13 第2 章 在容器中运行软件 14 2.1 从Docker 命令行工具获得帮助 14 2.2 控制容器:建立一个网站的监控器 15 2.2.1 创建和启动一个新的容器 16 2.2.2 运行交互式容器 17 2.2.3 列举、停止、重新启动和查看容器输出 18 2.3 已解决的问题和PID 命名空间 20 2.4 消除元数据冲突:构建一个网站农场 23 2.4.1 灵活的容器标识 24 2.4.2 容器的状态和依赖 26 2.5 构建与环境无关的系统 28 2.5.1 只读文件系统 29 2.5.2 环境变量的注入 31 2.6 建立持久化的容器 34 2.6.1 自动重启容器 35 2.6.2 使用init 和supervisor 进程维持容器的运行状态 36 2.7 清理 38 2.8 小结 39 第3 章 软件安装的简化 40 3.1 选择所需的软件 41 3.1.1 什么是仓库 41 3.1.2 使用标签 42 3.2 查找和安装软件 43 3.2.1 命令行使用Docker Hub 43 3.2.2 通过网站访问Docker Hub 45 3.2.3 使用替代注册服务器 47 3.2.4 镜像文件 47 3.2.5 从Dockerfile 安装 49 3.3 安装文件和隔离 49 3.3.1 镜像层实战 50 3.3.2 分层关系 51 3.3.3 容器文件系统抽象和隔离 52 3.3.4 分层文件系统及其工具的优点 53 3.3.5 Union 文件系统的不足 53 3.4 小结 54 第4 章 持久化存储和卷间状态共享 55 4.1 存储卷的简介 56 4.1.1 存储卷提供容器无关的数据管理方式 56 4.1.2 NoSQL 数据库使用存储卷 57 4.2 存储卷的类型 60 4.2.1 绑定挂载卷 60 4.2.2 Docker 管理卷 63 4.3 共享存储卷 65 4.3.1 主机依赖的共享 65 4.3.2 共享和volumes-from 标志 66 4.4 管理卷的生命周期 68 4.4.1 管理卷的权限 68 4.4.2 存储卷的清理 69 4.5 存储卷的高级容器模式 70 4.5.1 卷容器模式 70 4.5.2 数据打包的存储卷容器 72 4.5.3 多态容器模式 73 4.6 小结 74 第5 章 网络访问 75 5.1 网络相关的背景知识 76 5.1.1 基础:协议,接口和端口 76 5.1.2 高级:网络,NAT 和端口转发 77 5.2 Docker 的网络 79 5.2.1 本地Docker 网络的拓扑结构 79 5.2.2 四种网络容器原型 80 5.3 Closed 容器 81 5.4 Bridged 容器 83 5.4.1 访问外部网络 84 5.4.2 自定义命名解析 85 5.4.3 开放对容器的访问 88 5.4.4 跨容器通信 91 5.4.5 修改网桥接口的配置 92 5.5 Joined 容器 93 5.6 Open 容器 95 5.7 跨容器依赖 96 5.7.1 链接——本地服务发现 97 5.7.2 链接别名 98 5.7.3 环境变量的改动 99 5.7.4 链接的本质和缺点 101 5.8 小结 102 第6 章 隔离——限制危险 103 6.1 资源分配 104 6.1.1 内存限制 104 6.1.2 CPU 105 6.1.3 设备的访问权 108 6.2 共享内存 108 6.2.1 跨容器的进程间通信 109 6.2.2 开放内存容器 110 6.3 理解用户 111 6.3.1 Linux 用户命令空间 111 6.3.2 run-as 用户 111 6.3.3 用户和卷 114 6.4 能力——操作系统功能的授权 116 6.5 运行特权容器 117 6.6 使用加强工具创建更健壮的容器 118 6.6.1 指定额外的安全选项 119 6.6.2 微调LXC 120 6.7 因地制宜地构建容器 121 6.7.1 应用 121 6.7.2 高层的系统服务 122 6.7.3 低层的系统服务 122 6.8 小结 122 第2 部分 镜像发布:如何打包软件 第7 章 在镜像中打包软件 126 7.1 从容器构建镜像 126 7.1.1 打包Hello World 127 7.1.2 打包Git 128 7.1.3 审查文件系统的改动 128 7.1.4 Commit——创建新镜像 129 7.1.5 可配置的镜像属性 130 7.2 深入Docker 镜像和层 131 7.2.1 深入联合文件系统 132 7.2.2 重新认识镜像、层、仓库和标签 134 7.2.3 镜像体积和层数限制 137 7.3 导出和导入扁平文件系统 139 7.4 版本控制的最佳实践 141 7.5 小结 143 第8 章 构建自动化和高级镜像设置 144 8.1 使用Dockerfile 打包Git 144 8.2 Dockerfile 入门 148 8.2.1 元数据指令 148 8.2.2 文件系统指令 152 8.3 注入下游镜像在构建时发生的操作 155 8.4 使用启动脚本和多进程容器 158 8.4.1 验证环境相关的先决条件 158 8.4.2 初始化进程 160 8.5 加固应用镜像 161 8.5.1 内容可寻址镜像标识符 161 8.5.2 用户权限 162 8.5.3 SUID 和SGID 权限 164 8.6 小结 166 第9 章 公有和私有软件分发 168 9.1 选择一个分发方法 169 9.1.1 分发选项图谱 169 9.1.2 选择标准 169 9.2 通过托管Registry 发布 172 9.2.1 通过公有仓库发布:你好!Docker Hub 172 9.2.2 使用自动构建发布公有项目 174 9.2.3 私有托管仓库 176 9.3 私有Registry 介绍 178 9.3.1 使用Registry 镜像 180 9.3.2 从Registry 使用镜像 181 9.4 镜像的手动发布和分发 181 9.5 镜像源代码分发工作流程 186 9.6 小结 189 第10 章 运行自定义Registry 190 10.1 运行个人Registry 191 10.1.1 再度介绍镜像 192 10.1.2 介绍V2 API 193 10.1.3 定制镜像 195 10.2 集中式Registry 的增强 196 10.2.1 创建一个反向代理 197 10.2.2 在反向代理上配置HTTPS(TLS) 199 10.2.3 添加身份认证层 202 10.2.4 客户端兼容性 206 10.2.5 应用于生产环境之前 208 10.3 持久化的BLOB 存储 210 10.3.1 微软Azure 托管远程存储 211 10.3.2 AWS S3 托管远程存储 212 10.3.3 RADOS(Ceph)的内部远程存储 214 10.4 扩展访问和延迟的改进 215 10.4.1 与元数据缓存集成 215 10.4.2 使用存储中间件简化BLOB 传输 217 10.5 通过通知集成 219 10.6 小结 224 第3 部分 多容器和多主机环境 第11 章 Docker Compose 声明式环境 228 11.1 Docker Compose:第一天的启动并运行 228 11.1.1 用一个简单的开发环境入门 229 11.1.2 一个复杂的架构:分布式系统和Elasticsearch 的集成 231 11.2 环境内的迭代 233 11.2.1 构建、启动和重新构建服务 234 11.2.2 服务伸缩和删除 237 11.2.3 迭代和持久化状态 238 11.2.4 网络和连接问题 239 11.3 开始一个新项目:三个示例中的Compose YAML 240 11.3.1 启动前的构建、环境、元数据和网络 240 11.3.2 已知的组件和绑定挂载卷 241 11.3.3 卷容器和扩展服务 242 11.4 小结 243 第12 章 Docker Machine 和Swarm 集群 245 12.1 介绍Docker Machine 246 12.1.1 构建和管理Docker Machine 246 12.1.2 配置Docker 客户端与远程Daemon 工作 249 12.2 Docker Swarm 介绍 252 12.2.1 借助于Docker Machine 构建Swarm 集群 252 12.2.2 Swarm 扩展了Docker 远程API 255 12.3 Swarm 调度 258 12.3.1 Spread 算法 258 12.3.2 用过滤器调整调度 260 12.3.3 BinPack 和随机调度算法 263 12.4 Swarm 服务发现 265 12.4.1 Swarm 和单主机网络 266 12.4.2 服务发现生态系统和权宜之计 268 12.4.3 展望多主机网络 269 12.5 小结 270 后记 271

作者简介:

Jeff Nickoloff 会建立大规模的服务站,写关于技术的文字,并帮助人们实现他们的产品目标。他曾在Amazon.com、Limelight 网络和亚利桑那州立大学做这些事情。2014 年离开亚马逊,他创办了一家咨询公司,专注于为财富100 强的企业和创业公司提供工具、培训和最佳实践。如果你想与他聊天或者一起工作,可以在http://allingeek.com 找到他,或者在Twitter 上找@allingeek。

其它内容:

暂无其它内容!


下载点评

  • 免密(715+)
  • 云同步(765+)
  • 高清(108+)
  • 实用性强(514+)
  • 朗读(362+)
  • 如获至宝(158+)
  • 自动(633+)
  • 可听读(317+)
  • 考研(1465+)
  • 权威(832+)
  • 影印(639+)
  • 解决急需(466+)
  • 破损(680+)
  • 清晰(542+)
  • 经典(758+)
  • 物超所值(751+)
  • 惊喜(588+)
  • 珍藏(204+)

下载评论

  • 用户1730375452: ( 2024-10-31 19:50:52 )

    无损的报告资源,多格式设计提升阅读体验,操作便捷。

  • 用户1742196383: ( 2025-03-17 15:26:23 )

    秒传下载PDF/EPUB文件,无损期刊推荐收藏,体验良好。

  • 用户1733211556: ( 2024-12-03 15:39:16 )

    图文版电子书下载极速,支持PDF/TXT格式导出,推荐下载。

  • 用户1733942004: ( 2024-12-12 02:33:24 )

    找了好久终于找到,太感谢了!

  • 用户1722992067: ( 2024-08-07 08:54:27 )

    完整版本学术资源,PDF/TXT格式适配各种阅读设备,推荐下载。


相关书评


以下书单推荐