当前位置:首页 > 工业技术
Docker实践
Docker实践

Docker实践PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:(美)伊恩·米尔(Ian Miell)著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115474582
  • 页数:314 页
图书介绍:本书由浅入深地讲解了Docker,涵盖从开发环境到DevOps流水线再一路到生产环境的整个落地过程。书中介绍Docker的核心概念和架构,以及将Docker和开发环境有机、高效地结合起来的方法,包括用作轻量级的虚拟机以及与构建和宿主机编排、配置管理、精简镜像等。本书还通过“问题/解决方案/讨论”的形式,将等一系列难题拆解成101个相关的实用技巧,为读者提供解决方案以及一些实践经验。
《Docker实践》目录
标签:实践

第一部分 Docker基础 3

第1章 Docker初探 3

1.1 Docker是什么以及为什么用Docker 4

1.1.1 Docker是什么 4

1.1.2 Docker有什么好处 6

1.1.3关键的概念 8

1.2构建一个Docker应用程序 10

1.2.1创建新的Docker镜像的方式 11

1.2.2编写一个Dockerfile 11

1.2.3构建一个Docker镜像 12

1.2.4运行一个Docker容器 14

1.2.5 Docker分层 16

1.3小结 17

第2章 理解Docker——深入引擎室 18

2.1 Docker的架构 18

2.2 Docker守护进程 20

技巧1向世界开放Docker守护进程 20

技巧2以守护进程方式运行容器 22

技巧3将Docker移动到不同分区 24

2.3 Docker客户端 25

技巧4使用socat监控Docker API流量 25

技巧5使用端口连接容器 28

技巧6链接容器实现端口隔离 29

技巧7在浏览器中使用Docker 31

2.4 Docker注册中心 33

技巧8建立一个本地Docker注册中心 34

2.5 Docker Hub 34

技巧9查找并运行一个Docker镜像 35

2.6小结 37

第二部分 Docker与开发 41

第3章 将Docker用作轻量级虚拟机 41

3.1从虚拟机到容器 42

技巧10将虚拟机转换为容器 42

技巧11类宿主机容器 44

技巧12将一个系统拆成微服务容器 46

3.2管理容器的服务 49

技巧13管理容器内服务的启动 50

3.3保存和还原工作成果 52

技巧14在开发中“保存游戏”的方式 52

技巧15给Docker打标签 54

技巧16在Docker Hub上分享镜像 56

技巧17在构建时指向特定的镜像 58

3.4进程即环境 59

技巧18在开发中“保存游戏”的方式 59

3.5小结 61

第4章 Docker日常 62

4.1卷——持久化问题 62

技巧19 Docker卷——持久化的问题 63

技巧20通过BitTorrent Sync的分布式卷 64

技巧21保留容器的bash历史 66

技巧22数据容器 68

技巧23使用SSHFS挂载远程卷 70

技巧24通过NFS共享数据 72

技巧25开发工具容器 75

4.2运行容器 76

技巧26在Docker里运行GUI 76

技巧27检查容器 78

技巧28干净地杀掉容器 80

技巧29使用Docker Machine来置备Docker宿主机 81

4.3构建镜像 84

技巧30使用ADD将文件注入镜像 85

技巧31重新构建时不使用缓存 87

技巧32 拆分缓存 89

4.4保持阵型 90

技巧33运行Docker时不加sudo 90

技巧34清理容器 91

技巧35清理卷 92

技巧36解绑容器的同时不停掉它 94

技巧37使用DockerUI来管理Docker守护进程 95

技巧38为Docker镜像生成一个依赖图 96

技巧39直接操作——对容器执行命令 97

4.5小结 99

第5章 配置管理——让一切井然有序 100

5.1配置管理和Dockerfile 100

技巧40使用ENTRYPOINT创建可靠的定制工具 101

技巧41在构建中指定版本来避免软件包的漂移 102

技巧42用perl-p-i-e替换文本 104

技巧43镜像的扁平化 105

技巧44用alien管理外来软件包 107

技巧45把镜像逆向工程得到Dockerfile 109

5.2传统配置管理工具与Docker 112

技巧46传统方式:搭配make和Docker 112

技巧47借助Chef Solo构建镜像 114

技巧48从源到镜像的构建 118

5.3小即是美 123

技巧49保持构建镜像更小的Dockerfile技巧 123

技巧50让镜像变得更小的技巧 126

技巧51通过BusyBox和Alpine来精简Docker镜像 128

技巧52 Go模型的最小容器 129

技巧53使用inotifywait给容器瘦身 132

技巧54大也可以美 134

5.4小结 136

第三部分 Docker与DevOps 139

第6章 持续集成:加快开发流水线 139

6.1 Docker Hub自动化构建 139

技巧55使用Docker Hub工作流 140

6.2更有效的构建 143

技巧56使用eatmydata为I/O密集型构建提速 143

技巧57设置一个软件包缓存用于加快构建速度 145

技巧58在Docker内部运行Selenium 测试 147

6.3容器化CI过程 151

技巧59包含一个复杂的开发环境 151

技巧60在一个Docker容器里运行Jenkins主服务器 156

技巧61使用Jenkins的Swarm插件扩展CI 158

6.4小结 161

第7章 持续交付:与Docker原则完美契合 162

7.1在CD流水线上与其他团队互动 163

技巧62 Docker契约——减少摩擦 163

7.2推动Docker镜像的部署 165

技巧63手动同步注册中心镜像 165

技巧64通过受限连接交付镜像 166

技巧65以TAR文件方式共享Docker对象 168

7.3为不同环境配置镜像 170

技巧66使用etcd通知容器 170

7.4升级运行中的容器 172

技巧67使用confd启用零停机时间切换 173

7.5小结 177

第8章 网络模拟:无痛的现实环境测试 178

8.1容器通信——超越手工链接 178

技巧68一个简单的Docker Compose集群 178

技巧69一个使用Docker Compose的SQLite服务器 182

技巧70使用Resolvable通过DNS查找容器 185

8.2使用Docker来模拟真实世界的网络 188

技巧71使用Comcast模拟有问题的网络 188

技巧72使用Blockade模拟有问题的网络 191

8.3 Docker和虚拟网络 194

技巧73使用Weave建立一个基底网络 195

技巧74 Docker的网络与服务功能 198

8.4小结 201

第四部分 生产环境中的Docker 205

第9章 容器编排:管理多个Docker容器 205

9.1简单的单台宿主机 206

技巧75使用systemd管理宿主机上的容器 206

技巧76使用systemd编排宿主机上的容器 210

9.2多宿主机Docker 212

技巧77使用Helios手动管理多宿主机Docker 213

技巧78基于Swarm的无缝Docker集群 219

技巧79使用Kubernetes集群 222

技巧80在Mesos上构建框架 228

技巧81使用Marathon细粒度管理Mesos 235

9.3服务发现:我们有什么 238

技巧82使用Consul来发现服务 238

技巧83使用Registrator进行自动化服务注册 246

9.4小结 248

第10章 Docker与安全 249

10.1 Docker访问权限及其意味着什么 249

10.2 Docker中的安全手段 250

技巧84限制能力 251

技巧85 Docker实例上的HTTP认证 253

技巧86保护Docker API 257

10.3来自Docker以外的安全 260

技巧87 OpenShift——一个应用程序平台即服务 260

技巧88使用安全选项 269

10.4小结 275

第11章 一帆风顺——生产环境中的Docker以及运维上的考量 276

11.1监控 276

技巧89记录容器的日志到宿主机的syslog 276

技巧90把Docker日志发送到宿主机的输出系统 279

技巧91使用cAdvisor监控容器 281

11.2资源控制 282

技巧92限制容器可以运行的内核 282

技巧93给重要的容器更多CPU 283

技巧94限制容器的内存使用 285

11.3 Docker的系统管理员用例 286

技巧95使用Docker来运行cron作业 286

技巧96通过“保存游戏”的方法来备份 289

11.4小结 291

第12章 Docker生产环境实践——应对各项挑战 292

12.1性能——不能忽略宿主机 292

技巧97从容器访问宿主机资源 292

技巧98 Device Mapper存储驱动和默认的容器大小 296

12.2在容器出问题时——调试Docker 298

技巧99使用nsenter调试容器的网络 298

技巧100无须重新配置,使用tcpflow进行实时调试 301

技巧101调试在特定宿主机上出问题的容器 302

12.3小结 306

附录A 安装并使用Docker 307

附录B Docker配置 311

附录C Vagrant 313

返回顶部