Docker实战

Docker实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] , (杰夫·尼克罗夫) ,
2016-11
版次: 01
ISBN: 9787121303067
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 292页
字数: 352千字
正文语种: 简体中文
原版书名: Docker in action
85人买过
  • 自从2013年3月Docker 0.1版本发布以来,以其为代表的容器技术发展也走上了快车道,Docker容器在很大程度上改变了软件的架构设计、开发和运维部署方式,也给早些年就提出的微服务架构模式插上了快速起飞的翅膀。本书由Docker社区**人Jeff Nickoloff编写,共分为三部分,**部分(1~6章)重点介绍Docker容器的资源隔离和权限控制及基础理论,第二部分(7~10章)详细解释了如何打包制作镜像以及各种镜像分发基础设施的建设,*后一部分(11~12章)聚焦于Docker容器的组合操作也就是多容器和多主机环境的管理。本书图文并茂,结合基本原理和具体案例给大家提供了多个不错的实战机会。 作为目前*炙手可热的容器技术类图书,本书适用于互联网、云计算及企业级软件开发、架构、测试及运维人员快速上手熟悉Docker容器,搭建以Docker为核心的基础设施,并在生产环境中快速部署应用以及管理容器集群。 胡震,上海凡用信息科技有限公司CTO,长夜公司首席架构师,DockOne社区优秀翻译。杨润青,90后博士僧,研究方向是网络和信息安全。黄帅(Henry Huang),目前就职于趋势科技,负责集群运维开发和维护工作,所在项目从2011年使用AWS服务至今,积累一定的AWS运维经验。 Jeff Nickoloff会建立大规模的服务站,写关于技术的文字,并帮助人们实现他们的产品目标。他曾在Amazon.com、Limelight网络和亚利桑那州立大学做这些事情。2014年离开***,他创办了一家咨询公司,专注于为财富100强的企业和创业公司提供工具、培训和*佳实践。 目    录
    第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  联合文件系统的不足 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  在反向代理上配置HTTP(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
  • 内容简介:
    自从2013年3月Docker 0.1版本发布以来,以其为代表的容器技术发展也走上了快车道,Docker容器在很大程度上改变了软件的架构设计、开发和运维部署方式,也给早些年就提出的微服务架构模式插上了快速起飞的翅膀。本书由Docker社区**人Jeff Nickoloff编写,共分为三部分,**部分(1~6章)重点介绍Docker容器的资源隔离和权限控制及基础理论,第二部分(7~10章)详细解释了如何打包制作镜像以及各种镜像分发基础设施的建设,*后一部分(11~12章)聚焦于Docker容器的组合操作也就是多容器和多主机环境的管理。本书图文并茂,结合基本原理和具体案例给大家提供了多个不错的实战机会。 作为目前*炙手可热的容器技术类图书,本书适用于互联网、云计算及企业级软件开发、架构、测试及运维人员快速上手熟悉Docker容器,搭建以Docker为核心的基础设施,并在生产环境中快速部署应用以及管理容器集群。
  • 作者简介:
    胡震,上海凡用信息科技有限公司CTO,长夜公司首席架构师,DockOne社区优秀翻译。杨润青,90后博士僧,研究方向是网络和信息安全。黄帅(Henry Huang),目前就职于趋势科技,负责集群运维开发和维护工作,所在项目从2011年使用AWS服务至今,积累一定的AWS运维经验。 Jeff Nickoloff会建立大规模的服务站,写关于技术的文字,并帮助人们实现他们的产品目标。他曾在Amazon.com、Limelight网络和亚利桑那州立大学做这些事情。2014年离开***,他创办了一家咨询公司,专注于为财富100强的企业和创业公司提供工具、培训和*佳实践。
  • 目录:
    目    录
    第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  联合文件系统的不足 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  在反向代理上配置HTTP(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
查看详情
12
相关图书 / 更多
Docker实战
Docker与Kubernetes容器虚拟化技术与应用
倪振松 刘宏嘉 陈建平 主编;谢岳富 副主编
Docker实战
Doctor-Patient Communication 医患沟通(英文版)(创新教材)
王锦帆;尹梅
Docker实战
Docker+Kubernetes容器实战派
赵渝强
Docker实战
Docker容器技术与应用项目教程(微课版)
崔升广
Docker实战
Docker快速入门
赵荣娇
Docker实战
Docker与Kubernetes容器运维实战
王启明 肖志健
Docker实战
Docker容器管理与应用项目教程
吴进 杨运强
Docker实战
Docker实战派——容器入门七步法
王嘉涛
Docker实战
Docker容器技术
张婵 王新强
Docker实战
Docker容器项目实战
龚斌
Docker实战
Doris实时数仓实战
王春波 著
Docker实战
Do Re Mi幼儿趣味识谱(全四册精美礼盒装)(超简单的幼儿乐谱读写)
高桥千佳子
您可能感兴趣 / 更多
Docker实战
宇宙视觉史:从宇宙大爆炸到时间的尽头
[美]查尔斯·刘 著;高爽 译者;[美]马克西姆· 马洛维奇科 绘;未读 出品
Docker实战
写出我心 普通人如何通过写作表达自己(平装本)
[美]娜塔莉·戈德堡(Natalie Goldberg)
Docker实战
写出我心3 写作疗愈的真正秘密
[美]娜塔莉·戈德堡(Natalie Goldberg)
Docker实战
神套路:为什么我们总被带节奏(狂热与网红时代醍醐灌顶之作,教给普通人安身立命的不二法门!)
[美]阿里·阿莫萨维 著;[哥伦比亚]亚历杭德罗·希拉尔多 绘
Docker实战
阿伦森自传
[美]埃利奥特·阿伦森(Elliot Aronson) 著;沈捷 译;湛庐文化 出品
Docker实战
街头官僚:公共服务中的个人困境
[美]迈克尔·李普斯基(Michael Lipsky)
Docker实战
史前至蒙古帝国时期的内欧亚大陆史
[美]大卫·克里斯蒂安 著;潘玲 译;杨建华 校
Docker实战
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
Docker实战
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
Docker实战
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
Docker实战
自律我也能做到(全9册)
[美]康妮·科维尔·米勒 著;[阿根廷]维多利亚·阿萨纳利 绘
Docker实战
你在等什么?
[美]斯科特·明钦 著;[中]易万 译;[美]马特 ·斐兰 绘