首页>参考读物>计算机科学与技术>计算机网络

Docker 技术入门与实战
作者 : 杨保华 戴王剑 曹亚仑 编著
丛书名 : 实战
出版日期 : 2014-12-18
ISBN : 978-7-111-48852-1
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 311
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

目前云计算时代已经到来,开发者将应用转移到云上已经解决了硬件管理的问题,然而软件配置和管理相关的问题依然存在。Docker的出现正好能帮助软件开发者开阔思路,尝试新的软件管理方法来解决这个问题。通过掌握Docker,开发人员便可享受先进的自动化运维理念和工具,无需运维人员介入即可顺利运行与各种运行环境。
本书分为三大部分:Docker入门、实战案例、高级话题,共14章,第1章“Docker与虚拟化”介绍虚拟化技术的概念与Docker的功能,第2章“基本概念”介绍Container容器相关的基本概念与术语。第3章“安装”带领读者快速搭建一个Docker系统。第4章“Docker镜像”介绍镜像的原理与操作。第5章“Docker容器”介绍容器的原理与操作。第6章“Docker仓库”介绍Docker Hub以及私有仓库的构建。第7章“数据与网络”介绍容器的互联方式与网络配置。第8章“Dockerfile”介绍如何构建Image。第9章“Hello World!”介绍搭建一个基础架构,第10章“实战案例”介绍一个综合案例,包括操作系统、数据持久化、服务器、语言环境、Web应用等内容。第11-14章是一些高级话题,如搭建私人仓库、CoreOS、Docker安全、Docker架构等。
本书从基本原理开始,深入浅出地讲解Docker的构建与操作。向运维人员提供Docker部署指引,向开发者提供快速搭建Docker应用的指引。

图书特色

杨保华 博士,清华大学毕业,现为 IBM 中国研究院研究员。主要从事数据中心网络解决方案的研发与部署,技术方向包括云计算、软件定义网络(SDN)、网络安全等,是国内较早从事 SDN 和网络虚拟化相关技术的推广者,同时也是 DockerPool开源社区的发起人之一。

戴王剑 资深架构师,多年来一直从事计算机网络、服务器架构设计,负责过多个省级项目的架构设计。热衷开源事业,是 DockerPool 开源社区的发起人之一。

曹亚仑 85后,全栈 Web 开发者,擅长并专注于 SaaS 系统架构设计与研发, 兴趣为 PaaS 和智能可穿戴设备。出版有译著《Arduino 无线传感器网络实践指南》以及开源图书《程序员禅修指南》。
虽然前几年在容器方面所做的工作不多,但是从2015年起,我们计划将工作重点放在 Docker 等容器技术上。
——杨卫华
新浪微博技术总监
本书作者之一杨保华博士在加入 IBM之后,一直从事云计算与软件定义网络领域的相关解决方案和核心技术的研发,热心关注 OpenStack、Docker 等开源社区,热衷使用开源技术,积极参与开源社区的讨论并提交代码。这使得他既能从宏观上准确把握 Docker 技术在整个云计算产业中的定位,又能从微观上清晰理解技术人员所渴望获知的核心之处。
——刘天成
IBM中国研究院云计算运维技术研究组经理
好的IT技术总是迅速“火爆”,Docker 就是这样。好像忽然之间,在企业一线工作的毕业生们都在谈论 Docker。在IT云化的今天,系统的规模和复杂性,呼唤着标准化的构件和自动化的管理,Docker 正是这种强烈需求的产物之一。这本书很及时,相信会成为IT工程师的宝典。
——李军
清华大学信息技术研究院院长
本书围绕着镜像、容器、仓库三个部分,从实践的角度出发,讲解了 Docker 的安装、配置、使用的方式。在本书的后面几个章节,也介绍了许多 Docker 的实现细节和工作原理。总体而言,本书从实际的案例入手,由浅至深,循序渐进,内容相当丰富。
——王灿
浙江大学计算机学院副教授
Docker 在公司多个项目中正式上线,目前运行稳定,在系统的关键节点使用 Docker 容器集群来快速扩展计算能力效果显著。本书作者之一戴王剑前期的充分调研和测试功不可没。
——徐勋业
浙江中正智能科技有限公司副总裁
本书详细介绍了 Docker 的发展历史、作用、部署方法和应用案例,文笔流畅,通俗易懂,对促进开源软件和虚拟化技术发展很有意义,对加强信息化在各行业的应用有较大的参考价值。
——杨传斌
浙江师范大学计算机学院教授
在一台服务器上同时运行一百个虚拟机,肯定会被认为是痴人说梦。而在一台服务器上同时运行一千个 Docker 容器,这已经成为现实。在计算机技术高速发展的今天,昔日的天方夜谭正在一个个变成现实。
笔者在刚接触 Docker 时,就为它所能带来的敏捷工作流程所深深吸引,也为它能充分发掘云计算资源的效能而兴奋不已。我们深信,Docker 的出现,必将给 DevOps 技术甚至整个信息技术产业的发展带来深远的影响。

图书前言

在一台服务器上同时运行一百个虚拟机,肯定会被认为是痴人说梦。而在一台服务器上同时运行一千个Docker容器,这已经成为现实。在计算机技术高速发展的今天,昔日的天方夜谭正在一个个变成现实。
多年的研发和运维(DevOps)经历中,笔者时常会碰到这样一个困境:用户的需求越来越多样,系统的规模越来越庞大,运行的软件越来越复杂,环境配置问题所造成的麻烦层出不穷……为了解决这些问题,开源社区推出过不少优秀的工具。这些方案虽然在某些程度上确能解决部分“燃眉之急”,但是始终没有一种方案能带来“一劳永逸”的效果。
让作为企业最核心资源的工程师们花费大量的时间,去解决各种环境和配置引发的 Bug,这真的正常吗?
回顾计算机的发展历程,最初,程序设计人员需要直接操作各种枯燥的机器指令,编程效率之低可想而知。高级语言的诞生,将机器指令的具体实现成功抽象出来,从此揭开了计算机编程效率突飞猛进的大时代。那么,为什么不能把类似的理念(抽象与分层)也引入到现代的研发和运维领域呢?
Docker无疑在这一方向上迈出了具有革新意义的一步。笔者在刚接触Docker时,就为它所能带来的敏捷工作流程而深深吸引,也为它能充分挖掘云计算资源的效能而兴奋不已。我们深信,Docker的出现,必将给DevOps技术,甚至整个信息技术产业的发展带来深远的影响。
笔者曾尝试编写了介绍Docker技术的中文开源文档。短短一个月的时间,竟收到了来自全球各个地区超过20万次的阅读量和全五星的好评。这让我们看到国内技术界对于新兴开源技术的敏锐嗅觉和迫切需求,同时也倍感压力,生怕其中有不妥之处,影响了大家学习和推广Docker技术的热情。在开源文档撰写过程中,我们一直在不断思考,在生产实践中到底怎么用Docker才是合理的?在“华章图书”的帮助下,终于有了现在读者手中的这本书。
与很多技术类书籍不同,本书中避免一上来就讲述冗长的故事,而是试图深入浅出、直奔主题,在最短时间内让读者理解和掌握最关键的技术点,并且配合实际操作案例和精炼的点评,给读者提供真正可以上手的实战指南。
本书在结构上分为三大部分。第一部分是Docker技术的基础知识介绍,这部分将让读者对Docker技术能做什么有个全局的认识;第二部分将具体讲解各种典型场景的应用案例,供读者体会Docker在实际应用中的高效秘诀;第三部分将讨论一些偏技术环节的高级话题,试图让读者理解Docker在设计上的工程美学。最后的附录归纳了应用Docker的常见问题和一些常用的参考资料。读者可根据自身需求选择阅读重点。全书主要由杨保华和戴王剑主笔,曹亚仑写作了编程开发和实践之道章节。
本书在写作过程中参考了官方网站上的部分文档,并得到了DockerPool技术社区网友们的积极反馈和支持,在此一并感谢!
成稿之际,Docker已经发布了增强安全特性的1.32版本。衷心祝愿Docker及相关技术能够快速成长和成熟,让众多IT从业人员的工作和生活都更加健康、更加美好!

作者于2014年11月

上架指导

计算机\网络

封底文字

虽然前几年在容器方面的所做工作不多,但是在2015年起,我们计划将架构重点放在构建基于Docker等容器技术基础上的体系。
——杨卫华(TimYang),新浪微博技术总监

本书作者之一杨保华博士在加入 IBM之后,一直从事云计算与软件定义网络领域的相关解决方案和核心技术的研发,热心关注 OpenStack、Docker 等开源社区,热衷使用开源技术,并积极参与开源社区的讨论、积极提交代码。这使得他既能从宏观上准确把握 Docker 技术在整个云计算产业中的定位,又能从微观上清晰理解技术人员所渴望获知的核心之处。
——刘天成,IBM中国研究院云计算运维技术研究组经理

好的IT技术总是迅速“火爆”,Docker就是这样。好像忽然之间,在企业一线工作的毕业生们都在谈论Docker。在IT云化的今天,系统的规模和复杂性,呼唤着标准化的构件和自动化的管理,Docker正是这种强烈需求的产物之一。这本书很及时,相信会成为IT工程师的宝典。
——李军,清华大学信息技术研究院院长

本书围绕着镜像、容器、仓库三个部分,从实践的角度出发,讲解了Docker的安装、配置、使用的方式。在本书的后面几个章节,也介绍了许多Docker的实现细节和工作原理。总体而言,本书从实际的案例入手,由浅至深,循序渐进,内容相当丰富。
——王灿,浙江大学计算机学院副教授

Docker 在我公司多个项目中正式上线,目前运行稳定,在系统的关键节点使用docker容器集群来快速扩展计算能力效果显著。本书作者之一戴王剑在前期充分的调研和测试方面功不可没。
——徐勋业,浙江中正智能科技有限公司副总裁

本书详细介绍了Docker的发展历史、作用、部署方法和应用案例,文笔流畅,通俗易懂,对促进开源软件和虚拟化技术发展很有意义,对加强信息化在各行业的应用有较大的参考价值。
——杨传斌,浙江师范大学计算机学院教授

作者简介

杨保华 戴王剑 曹亚仑 编著:暂无简介

图书目录

序一
序二
前言
作者简介
第一部分 Docker入门
第1章 初识Docker 3
1.1 什么是Docker 3
1.2 为什么要使用Docker 5
1.3 虚拟化与Docker 7
1.4 本章小结 8
第2章 Docker的核心概念和安装 9
2.1 核心概念 9
2.2 安装Docker 11
2.3 本书环境介绍 14
2.4 本章小结 15
第3章 镜像 16
3.1 获取镜像 16
3.2 查看镜像信息 17
3.3 搜寻镜像 20
3.4 删除镜像 21
3.5 创建镜像 23
3.6 存出和载入镜像 24
3.7 上传镜像 25
3.8 本章小结 25
第4章 容器 26
4.1 创建容器 26
4.2 终止容器 28
4.3 进入容器 29
4.4 删除容器 31
4.5 导入和导出容器 31
4.6 本章小结 32
第5章 仓库 33
5.1 Docker Hub 33
5.2 Docker Pool简介 35
5.3 创建和使用私有仓库 36
5.4 本章小结 38
第6章 数据管理 39
6.1 数据卷 39
6.2 数据卷容器 40
6.3 利用数据卷容器迁移数据 42
6.4 本章小结 42
第7章 网络基础配置 43
7.1 端口映射实现访问容器 43
7.2 容器互联实现容器间通信 45
7.3 本章小结 47
第8章 使用Dockerfile创建镜像 48
8.1 基本结构 48
8.2 指令 49
8.3 创建镜像 53
8.4 本章小结 53
第二部分 实战案例
第9章 操作系统 57
9.1 Busybox 57
9.2 Debian/Ubuntu 60
9.3 CentOS/Fedora 62
9.4 CoreOS 64
9.5 本章小结 69
第10章 创建支持SSH服务的镜像 70
10.1 基于commit命令创建 70
10.2 使用Dockerfile创建 74
10.3 本章小结 79
第11章 Web服务器与应用 80
11.1 Apache 80
11.2 Nginx 86
11.3 Tomcat 95
11.4 Weblogic 102
11.5 LAMP 119
11.5.1 下载LAMP镜像 119
11.5.2 使用默认方式启动LAMP容器 119
11.5.3 部署自己的PHP应用 120
11.5.4 在PHP程序中连接数据库 120
11.6 CMS 121
11.7 本章小结 123
第12章 数据库应用 124
12.1 MySQL 124
12.2 Oracle XE 129
12.3 MongoDB 130
12.4 本章小结 134
第13章 编程语言 136
13.1 PHP 136
13.1.1 PHP技术栈 136
13.1.2 PHP常用框架 142
13.1.3 相关资源 147
13.2 C/C++ 147
13.2.1 GCC 147
13.2.2 LLVM 150
13.2.3 Clang 150
13.3 Java 151
13.4 Python 153
13.4.1 Python技术栈 153
13.4.2 Flask 155
13.4.3 Django 157
13.4.4 相关资源 159
13.5 Perl 160
13.5.1 Perl技术栈 160
13.5.2 Catalyst 161
13.5.3 相关资源 161
13.6 Ruby 162
13.6.1 Ruby技术栈 162
13.6.2 JRuby 163
13.6.3 Ruby on Rails 164
13.6.4 Sinatra 165
13.6.5 相关资源 166
13.7 JavaScript 166
13.7.1 JavaScript技术栈 166
13.7.2 Node.js 167
13.7.3 Express 168
13.7.4 AngularJS 170
13.7.5 相关资源 171
13.8 Go 172
13.8.1 Go技术栈 172
13.8.2 Beego 174
13.8.3 Revel 175
13.8.4 Martini 177
13.8.5 相关资源 179
13.9 本章小结 180
第14章 使用私有仓库 181
14.1 使用docker-registry 181
14.2 用户认证 183
14.3 使用私有仓库批量上传镜像 186
14.4 仓库配置文件 189
14.5 本章小结 196
第15章 构建Docker容器集群 197
15.1 使用自定义网桥连接跨主机容器 197
15.2 使用Ambassador容器 199
15.3 本章小结 200
第16章 在公有云上使用Docker 202
16.1 公有云上安装Docker 202
16.1.1 CentOS 6.5系统 202
16.1.2 Ubuntu 14.04系统 207
16.2 阿里云Docker的特色服务 207
16.3 本章小结 213
第17章 Docker实践之道 214
17.1 个人学习之道 214
17.1.1 温故而知新 215
17.1.2 众人拾柴火焰高 216
17.2 技术创业之道 217
17.3 中小型企业实践之道 218
17.3.1 开发、测试和发布中应用Docker 218
17.3.2 应用Docker到生产环境 220
17.4 本章小结 220
第三部分 高级话题
第18章 Docker核心技术 223
18.1 基本架构 223
18.2 命名空间 225
18.3 控制组 227
18.4 联合文件系统 229
18.5 Docker网络实现 230
18.6 本章小结 232
第19章 Docker安全 233
19.1 命名空间隔离的安全 233
19.2 控制组资源控制的安全 234
19.3 内核能力机制 234
19.4 Docker服务端的防护 235
19.5 其他安全特性 236
19.6 本章小结 237
第20章 高级网络配置 238
20.1 网络启动与配置参数 238
20.2 配置容器DNS和主机名 240
20.3 容器访问控制 241
20.4 映射容器端口到宿主主机的实现 243
20.5 配置docker0网桥 244
20.6 自定义网桥 245
20.7 创建一个点到点连接 246
20.8 工具和项目 247
20.9 本章小结 251
第21章 Docker相关项目 252
21.1 平台即服务方案 252
21.2 持续集成 253
21.3 管理工具 256
21.4 编程开发 261
21.5 其他项目 262
21.6 本章小结 267
附  录
附录A 常见问题汇总 270
附录B 常见仓库 276
附录C Docker命令查询 294
附录D Docker资源链接 299

教学资源推荐
作者: 吴黎兵 彭红梅 黄磊
作者: (希)Grigoris Antoniou (荷)Paul Groth (荷)Frank van Harmelen(荷)Rinke Hoekstra      著
作者: 陈庆章 王子仁
参考读物推荐
作者: 大学霸IT达人 编著
作者: (美)Lydia Ash
作者: 山金孝 潘晓华 刘世民 著
作者: 熊普江 谢宇华 编著