微信扫一扫,移动浏览光盘

简介

权威作者:具有十多年虚拟化研究经验,国内首批研究Docker容器技术的专家,Docker开源项目贡献者快速入门:透过简单的理论讲解,带你进入Docker的世界步骤详细:手把手教你配置方法,为你量身定制自己的Docker内容丰富:揭露镜像制作过程,教你搭建镜像仓库

目录

目 录
第1部分 保持一台干净的机器
第1章 欢迎来到Docker世界2
1.1 什么是Docker3
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 何时何处使用Docker11
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 Hub43
3.2.2 通过网站访问Docker Hub45
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 CPU105
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 微调LXC120
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 World127
7.1.2 打包Git128
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打包Git144
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 Hub172
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章 运行自定义Registry190
10.1 运行个人Registry191
10.1.1 再度介绍镜像192
10.1.2 介绍V2 API193
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 YAML240
11.3.1 启动前的构建、环境、元数据和网络240
11.3.2 已知的组件和绑定挂载卷241
11.3.3 卷容器和扩展服务242
11.4 小结243
第12章 Docker Machine和Swarm集群245
12.1 介绍Docker Machine246
12.1.1 构建和管理Docker Machine246
12.1.2 配置Docker客户端与远程Daemon工作249
12.2 Docker Swarm介绍252
12.2.1 借助于Docker Machine构建Swarm集群252
12.2.2 Swarm扩展了Docker远程API255
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

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Docker实战
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon