第一本Docker书 修订版

第一本Docker书 修订版

出版信息

詹姆斯·特恩布尔 (James Turnbull) / 李兆海、刘斌、巨震 / 人民邮电出版社 / 2016-4-1 / CNY 59.00

内容简介

Docker是一个开源的应用容器引擎,开发者可以利用Docker打包自己的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

本书由Docker公司前服务与支持副总裁James Turnbull编写,是Docker开发指南。本书专注于Docker 1.9及以上版本,指导读者完成Docker的安装、部署、管理和扩展,带领读者经历从测试到生产的整个开发生命周期,让读者了解Docker适用于什么场景。书中先介绍Docker及其组件的基础知识,然后介绍用Docker构建容器和服务来完成各种任务:利用Docker为新项目建立测试环境,演示如何使用持续集成的工作流集成Docker,如何构建应用程序服务和平台,如何使用Docker的API,如何扩展Docker。

作者简介

作者简介

James是一位技术作家,还是一名开源极客。他的大作是一本讲述流行开源日志工具的书——The LogStash Book。James还写了两本关于Puppet的书,一本是Pro Puppet,另一本是较早的Pulling Strings with Puppet: Configuration Management Made Easy。此外,James还写了Pro Linux System Administration、Pro Nagios 2.0和Hardening Linux这三本书。

James是Kickstarter公司的CTO。之前,James曾担任Docker公司服务与支持副总裁、Venmo公司工程副总裁和Puppet Labs的技术运维副总裁。

译者简介

李兆海,网名Googol Lee。使用Googol这个名字真的是因为“10的100次方”这个意思,和后来的Google公司没有一点儿关系。多年后端程序员,早期以C、C++为主,后来转向Python,现在以Go为生。曾写过《Golang初探》发表于2011年2月号《程序员》。Docker早期使用者。平时喜欢乱翻书,遇到感兴趣的都会研究一番。Twitter账户@googollee。

刘斌,具有10余年软件开发经验,关注后台开发技术和各种编程语言。做过电子商务、金融、企业系统以及Android手机开发;写过Delphi,也兼做系统管理员和DBA(现在都改叫DevOps了);既做后台应用,也要调用前台CSS和JavaScript,可还是不敢自称“全栈”(Full Stack);今又舶来“增长黑客”(Growth Hacker),我想我要做一个“增长工程师”(Growth Engineer)。个人主页 http://liubin.org。

巨震,北京大学软件工程硕士,服务器端开发者。目前就职于创业公司,使用Node.js、Golang进行服务器端开发。2013年年底开始研究Docker,是Docker中文社区的活跃贡献者,负责Docker技术文章和视频的翻译、校对工作。生活中喜欢美食、骑行,热衷于PC硬件,喜爱折腾,热爱一切计算机相关的技术,坚信技术改变世界。崇拜的技术传奇人物是前id Software首席程序员、现Oculus VR首席技术官John Carmack。

目录

第1章 简介 1
1.1 Docker简介 2
1.1.1 提供一个简单、轻量的建模方式 2
1.1.2 职责的逻辑分离 3
1.1.3 快速、高效的开发生命周期 3
1.1.4 鼓励使用面向服务的架构 3
1.2 Docker组件 3
1.2.1 Docker客户端和服务器 4
1.2.2 Docker镜像 5
1.2.3 Registry 5
1.2.4 容器 5
1.3 能用Docker做什么 6
1.4 Docker与配置管理 7
1.5 Docker的技术组件 8
1.6 本书的内容 9
1.7 Docker资源 10
第2章 安装Docker 11
2.1 安装Docker的先决条件 12
2.2 在Ubuntu和Debian中安装Docker 13
2.2.1 检查前提条件 14
2.2.2 安装Docker 16
2.2.3 Docker与UFW 17
2.3 在Red Hat和Red Hat系发行版中安装Docker 17
2.3.1 检查前提条件 18
2.3.2 安装Docker 19
2.3.3 在Red Hat系发行版中启动Docker守护进程 21
2.4 在OS X中安装Docker Toolbox 22
2.4.1 在OS X中安装Docker Toolbox 22
2.4.2 在OS X中启动Docker Toolbox 23
2.4.3 测试Docker Toolbox 24
2.5 在Windows中安装Docker Toolbox 24
2.5.1 在Windows中安装Docker Toolbox 25
2.5.2 在Windows中启动Docker Toolbox 25
2.5.3 测试Docker Toolbox 26
2.6 使用本书的Docker Toolbox示例 26
2.7 Docker安装脚本 27
2.8 二进制安装 28
2.9 Docker守护进程 28
2.9.1 配置Docker守护进程 29
2.9.2 检查Docker守护进程是否正在运行 30
2.10 升级Docker 31
2.11 Docker用户界面 32
2.12 小结 32
第3章 Docker入门 33
3.1 确保Docker已经就绪 33
3.2 运行我们的第一个容器 34
3.3 使用第一个容器 36
3.4 容器命名 38
3.5 重新启动已经停止的容器 39
3.6 附着到容器上 40
3.7 创建守护式容器 40
3.8 容器内部都在干些什么 41
3.9 Docker日志驱动 42
3.10 查看容器内的进程 43
3.11 Docker统计信息 44
3.12 在容器内部运行进程 44
3.13 停止守护式容器 45
3.14 自动重启容器 46
3.15 深入容器 47
3.16 删除容器 48
3.17 小结 49
第4章 使用Docker镜像和仓库 50
4.1 什么是Docker镜像 50
4.2 列出镜像 52
4.3 拉取镜像 55
4.4 查找镜像 57
4.5 构建镜像 58
4.5.1 创建Docker Hub账号 59
4.5.2 用Docker的commit命令创建镜像 60
4.5.3 用Dockerfile构建镜像 62
4.5.4 基于Dockerfile构建新镜像 65
4.5.5 指令失败时会怎样 67
4.5.6 Dockerfile和构建缓存 68
4.5.7 基于构建缓存的Dockerfile模板 69
4.5.8 查看新镜像 70
4.5.9 从新镜像启动容器 70
4.5.10 Dockerfile指令 74
4.6 将镜像推送到Docker Hub 88
4.7 删除镜像 92
4.8 运行自己的Docker Registry 94
4.8.1 从容器运行Registry 94
4.8.2 测试新Registry 95
4.9 其他可选Registry服务 96
4.10 小结 96
第5章 在测试中使用Docker 97
5.1 使用Docker测试静态网站 97
5.1.1 Sample网站的初始Dockerfile 98
5.1.2 构建Sample网站和Nginx镜像 100
5.1.3 从Sample网站和Nginx镜像构建容器 102
5.1.4 修改网站 104
5.2 使用Docker构建并测试Web应用程序 105
5.2.1 构建Sinatra应用程序 105
5.2.2 创建Sinatra容器 107
5.2.3 扩展Sinatra应用程序来使用Redis 110
5.2.4 将Sinatra应用程序连接到Redis容器 113
5.2.5 Docker内部连网 114
5.2.6 Docker Networking 119
5.2.7 使用容器连接来通信 131
5.2.8 连接容器小结 132
5.3 Docker用于持续集成 132
5.3.1 构建Jenkins和Docker服务器 133
5.3.2 创建新的Jenkins作业 137
5.3.3 运行Jenkins作业 141
5.3.4 与Jenkins作业有关的下一步 143
5.3.5 Jenkins设置小结 143
5.4 多配置的Jenkins 143
5.4.1 创建多配置作业 143
5.4.2 测试多配置作业 147
5.4.3 Jenkins多配置作业小结 149
5.5 其他选择 149
5.5.1 Drone 149
5.5.2 Shippable 149
5.6 小结 149
第6章 使用Docker构建服务 151
6.1 构建第一个应用 151
6.1.1 Jekyll基础镜像 152
6.1.2 构建Jekyll基础镜像 153
6.1.3 Apache镜像 153
6.1.4 构建Jekyll Apache镜像 154
6.1.5 启动Jekyll网站 155
6.1.6 更新Jekyll网站 158
6.1.7 备份Jekyll卷 159
6.1.8 扩展Jekyll示例网站 161
6.2 使用Docker构建一个Java应用服务 161
6.2.1 WAR文件的获取程序 161
6.2.2 获取WAR文件 162
6.2.3 Tomecat7应用服务器 163
6.2.4 运行WAR文件 165
6.2.5 基于Tomcat应用服务器的构建服务 166
6.3 多容器的应用栈 169
6.3.1 Node.js镜像 169
6.3.2 Redis基础镜像 172
6.3.3 Redis主镜像 173
6.3.4 Redis副本镜像 174
6.3.5 创建Redis后端集群 174
6.3.6 创建Node容器 178
6.3.7 捕获应用日志 180
6.3.8 Node程序栈的小结 183
6.4 不使用SSH管理Docker容器 183
6.5 小结 185
第7章 Docker编配和服务发现 186
7.1 Docker Compose 187
7.1.1 安装Docker Compose 187
7.1.2 获取示例应用 188
7.1.3 docker-compose.yml文件 191
7.1.4 运行Compose 193
7.1.5 使用Compose 195
7.1.6 Compose小结 197
7.2 Consul、服务发现和Docker 197
7.2.1 构建Consul镜像 199
7.2.2 在本地测试Consul容器 202
7.2.3 使用Docker运行Consul集群 203
7.2.4 启动具有自启动功能的Consul节点 206
7.2.5 启动其余节点 207
7.2.6 配合Consul,在Docker里运行一个分布式服务 212
7.3 Docker Swarm 221
7.3.1 安装Swarm 222
7.3.2 创建Swarm集群 222
7.3.3 创建容器 225
7.3.4 过滤器 227
7.3.5 策略 229
7.3.6 小结 230
7.4 其他编配工具和组件 230
7.4.1 Fleet和etcd 230
7.4.2 Kubernetes 231
7.4.3 Apache Mesos 231
7.4.4 Helios 231
7.4.5 Centurion 231
7.5 小结 231
第8章 使用Docker API 233
8.1 Docker API 233
8.2 初识Remote API 234
8.3 测试Docker Remote API 236
8.3.1 通过API来管理Docker镜像 237
8.3.2 通过API管理Docker容器 239
8.4 改进TProv应用 242
8.5 对Docker Remote API进行认证 246
8.5.1 建立证书授权中心 246
8.5.2 创建服务器的证书签名请求和密钥 248
8.5.3 配置Docker守护进程 250
8.5.4 创建客户端证书和密钥 251
8.5.5 配置Docker客户端开启认证功能 253
8.6 小结 254
第9章 获得帮助和对Docker进行改进 255
9.1 获得帮助 255
9.1.1 Docker用户、开发邮件列表及论坛 255
9.1.2 IRC上的Docker 256
9.1.3 GitHub上的Docker 256
9.2 报告Docker的问题 257
9.3 搭建构建环境 257
9.3.1 安装Docker 257
9.3.2 安装源代码和构建工具 257
9.3.3 检出源代码 258
9.3.4 贡献文档 258
9.3.5 构建开发环境 259
9.3.6 运行测试 261
9.3.7 在开发环境中使用Docker 261
9.3.8 发起pull request 262
9.3.9 批准合并和维护者 263
9.4 小结 264

本文地址:https://www.codercto.com/books/d/163.html

MD5 加密

MD5 加密

MD5 加密工具

HEX CMYK 转换工具

HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具

HSV CMYK 转换工具

HSV CMYK互换工具