热门排行
简介
《Docker开发实践》详细介绍高级容器引擎Docker的各方面技术,从概念介绍到实战,讨论docker的内容,包含基础概念如:镜像,容器,仓库;从实战中讲解docker的数据管理,网络管理,安全管理;最后,探讨docker的底层相关技术和基于docker的最新技术。
目录
第一篇 基础篇:Docker基础
第1章 Docker简介 2
1.1 Docker简介 2
1.1.1 Docker的概念 5
1.1.2 Docker的背景 5
1.1.3 容器与虚拟机 7
1.1.4 Docker与容器 8
1.1.5 Docker的应用场景 9
1.2 Docker的组件 10
1.3 Docker的相关技术 11
1.4 Docker的安装 12
1.4.1 Ubuntu下的安装 12
1.4.2 Red Hat下的安装 13
1.4.3 OS X下的安装 14
1.4.4 Windows下的安装 15
第2章 容器 17
2.1 容器的管理操作 17
2.1.1 创建容器 17
2.1.2 查看容器 20
2.1.3 启动容器 21
2.1.4 终止容器 22
2.1.5 删除容器 22
2.2 容器内信息获取和命令执行 23
2.2.1 依附容器 23
2.2.2 查看容器日志 24
2.2.3 查看容器进程 25
2.2.4 查看容器信息 25
2.2.5 容器内执行命令 26
2.3 容器的导入和导出 26
第3章 镜像 28
3.1 镜像的概念 28
3.1.1 镜像与容器 28
3.1.2 镜像的系统结构 29
3.1.3 镜像的写时复制机制 30
3.2 本地镜像的管理 30
3.2.1 查看 30
3.2.2 下载 31
3.2.3 删除 33
3.3 创建本地镜像 33
3.3.1 使用commit命令创建本地镜像 33
3.3.2 使用Dockerfile创建镜像 34
3.4 Docker Hub 40
3.4.1 Docker Hub简介 41
3.4.2 镜像的分发 41
3.4.3 自动化构建 43
3.4.4 创建注册服务器 47
第4章 数据卷及容器连接 49
4.1 容器网络基础 49
4.1.1 暴露网络端口 50
4.1.2 查看网络配置 53
4.2 数据卷 54
4.2.1 创建数据卷 54
4.2.2 挂载主机目录作为数据卷 55
4.2.3 挂载主机文件作为数据卷 57
4.2.4 数据卷容器 57
4.2.5 数据的备份与恢复 59
4.3 容器连接 60
4.3.1 容器命名 60
4.3.2 容器连接 60
4.3.3 代理连接 62
第二篇 案例篇:综合案例
第5章 创建SSH服务镜像 66
5.1 基于commit命令的方式 66
5.2 基于Dockerfile的方式 70
第6章 综合案例1:Apache+PHP+MySQL 72
6.1 构建mysql 镜像 72
6.1.1 编写镜像Dockerfile 73
6.1.2 构建和上传镜像 75
6.2 构建apache+php镜像 76
6.2.1 编写镜像Dockerfile 77
6.2.2 构建和上传镜像 79
6.3 启动容器 80
第7章 综合案例2:DLNNM 82
7.1 构建mongodb镜像 83
7.1.1 编写镜像Dockerfile 84
7.1.2 构建和上传镜像 84
7.2 构建Node.js镜像 86
7.2.1 项目源文件 86
7.2.2 编写镜像Dockerfile 88
7.2.3 构建和上传镜像 89
7.3 连接Node.js服务和MongoDB服务 89
7.3.1 制作代理镜像mongoabassador 89
7.3.2 启动MongoDB服务 91
7.3.3 启动Node-Web-API服务 92
7.4 搭建前端Nginx 93
7.4.1 构建镜像并运行 93
7.4.2 验证Web应用 95
第8章 阿里云Docker开发实践 97
8.1 阿里云Docker介绍 99
8.2 部署镜像注册服务器 102
8.3 开发 103
8.3.1 项目开发 103
8.3.2 制作和上传镜像 104
8.4 测试 105
8.5 部署 105
第9章 在阿里云上部署WordPress 107
9.1 初始化阿里云Docker环境 107
9.2 部署MySQL容器 109
9.3 部署WordPress容器 109
第10章 使用私有仓库 112
10.1 使用docker-registry 112
10.2 用户认证 115
第11章 使用Docker部署Hadoop集群 118
11.1 Hadoop简介 118
11.2 构建Hadoop镜像 119
11.3 构建Hadoop集群 122
11.3.1 Ambari简介 123
11.3.2 部署Hadoop集群 123
第三篇 高级篇:高级话题、API、工具及集群管理
第12章 容器网络 128
12.1 容器网络的原理 128
12.1.1 基础网络工具 128
12.1.2 网络空间虚拟化 131
12.1.3 网络设备虚拟化 132
12.1.4 容器运行的4 种网络模式 135
12.1.5 手动配置容器的网络环境 137
12.2 配置及原理 138
12.2.1 基本配置 138
12.2.2 容器互联配置及原理 140
12.2.3 容器内访配置及原理 142
12.2.4 容器外访配置及原理 143
12.2.5 创建点对点连接 144
12.3 网桥 146
12.3.1 配置网桥 146
12.3.2 构建自己的网桥 146
第13章 安全 148
13.1 命名空间 148
13.2 cgroups 151
13.3 Linux能力机制 152
第14章 DockerAPI 154
14.1 API 概述 154
14.2 绑定Docker后台监听接口 155
14.3 远程API 158
14.3.1 容器相关的API 158
14.3.2 镜像相关的API 164
14.4 平台API 167
14.4.1 注册服务器架构及流程 167
14.4.2 操作Hub API 169
14.5 API 实战:docker-py库编程 173
14.5.1 docker-py开发环境的搭建 173
14.5.2 docker-py库编程 174
第15章 Fig 177
15.1 Fig简介 177
15.2 Fig安装 177
15.3 Rails开发环境配置 178
15.4 Django开发环境配置 180
15.5 WordPress开发环境配置 182
15.6 Flocker:跨主机的Fig应用 184
第16章 Kubernetes 189
16.1 Kubernetes简介 189
16.2 核心概念 190
16.2.1 节点 190
16.2.2 Pod 190
16.2.3 服务 191
16.2.4 标签 194
16.3 架构和组件 195
16.3.1 主控节点 195
16.3.2 从属节点 198
16.3.3 组件交互流程 198
16.4 Kubernetes实战 200
16.4.1 环境部署 201
16.4.2 应用操作 207
第17章 shipyard 214
17.1 简介 214
17.2 shipyard操作 217
17.2.1 鉴权 217
17.2.2 引擎 217
17.2.3 容器 220
17.2.4 服务密钥 222
17.2.5 Web钩子密钥 223
17.2.6 事件 223
17.2.7 集群信息 224
第18章 Machine+Swarm+Compose225
18.1 Machine 225
18.2 Swarm 227
18.2.1 架构和组件 228
18.2.2 实操 230
18.2.3 发现服务和调度 233
18.3 Compose 239
第四篇 附录
附录A 常见镜像 242
附录B Docker API列表 262
附录C 参考资料 278