Docker容器实战:原理、架构与应用
¥
5
九五品
仅1件
作者廖煜 著
出版社电子工业出版社
出版时间2016-11
版次01
装帧平装
货号商城32号架东1层
上书时间2024-09-17
商品详情
- 品相描述:九五品
图书标准信息
-
作者
廖煜 著
-
出版社
电子工业出版社
-
出版时间
2016-11
-
版次
01
-
ISBN
9787121302442
-
定价
55.00元
-
装帧
平装
-
开本
16开
-
纸张
其他
-
页数
276页
-
字数
99999千字
-
正文语种
简体中文
- 【内容简介】
-
本书介绍了Docker容器技术的背景和基本原理,以及如何定制化符合用户要求的Docker Daemon,增加安全性、提高效率。.镜像提供了千差万别的服务,每一个镜像都是要满足用户的某种需求。如何制作出体积小、安全性高、可配置性强的镜像是困扰很多开发者的问题,书中详细介绍了相关解决方案。本书的最后还介绍了各种流行的开源项目,让读者了解Docker生态圈。
- 【作者简介】
-
晏东-Ghostcloud创始人,电子科技大学硕士,阿里云栖社区首席Docker技术专家,曾任Symantec/Veritas云计算及信息安全研究院中国区首席架构师,全球Top-talent,师从Veritas联合创始人兼Symantec首席科学家Ron Karr,从事分布式系统研发11年。Veritas中国区获得美国专利**人,同时拥有10余项国内和美国专利,全球专利评审委员会委员。曾以公司代表身份,主导华为赛门铁克存储产品线的软件OEM交付工作。进入Veritas之前,曾任索贝数码文件系统及存储研究室资深架构师,以创始人身份研发出国内**款商用SAN文件系统-FiShare及高可用中间件-FiSEC,填补了国内在商用分布式集群系统领域的空白。
- 【目录】
-
目 录
第1篇 Docker基础知识介绍
第1章 云计算简介2
1.1 虚拟化技术的分类和历史3
1.1.1 硬件级虚拟化历史3
1.1.2 操作系统级虚拟化历史4
1.2 云计算服务模式4
1.3 Docker介绍5
1.3.1 Docker主要解决什么问题6
1.3.2 Docker的历史6
1.3.3 Docker是什么6
1.4 Linux快速入门7
1.4.1 选取什么发行版本7
1.4.2 使用图形界面还是命令行界面8
1.4.3 英文还是中文8
1.4.4 安装Ubuntu 14.048
1.4.5 Linux常用工具11
1.4.6 启用root 用户12
1.4.7 使用vim12
1.4.8 配置网络13
1.4.9 启用SSH Server13
1.4.10 通过客户端远程连接Linux主机14
1.4.11 免密码登录Linux主机15
1.4.12 安装软件15
1.4.13 公有云主机快速入门16
1.4.14 购买云主机17
1.4.15 连接到云主机19
1.5 习题21
第2章 Docker的安装22
2.1 在Ubuntu下安装Docker22
2.1.1 前置条件22
2.1.2 更新apt源23
2.1.3 Ubuntu 14.04特殊处理24
2.1.4 正式安装24
2.2 在CentOS下安装26
2.2.1 前置条件26
2.2.2 更新yum26
2.2.3 添加仓库26
2.2.4 正式安装26
2.3 通过Ghostcloud进行安装27
2.3.1 注册Ghostcloud账号28
2.3.2 接入新主机28
2.3.3 获取安装脚本28
2.3.4 验证Docker安装是否成功30
2.3.5 运行第一个容器30
2.4 通过官方的安装脚本安装31
2.5 在非Linux系统下安装Docker32
2.6 习题32
第3章 使用Docker33
3.1 运行hello-world33
3.2 容器和镜像35
3.2.1 什么是容器35
3.2.2 什么是镜像35
3.2.3 容器和镜像的关系36
3.3 Docker入门操作36
3.3.1 查看Docker基本信息36
3.3.2 下载第一个基础镜像37
3.3.3 运行一个含shell终端的容器38
3.3.4 查看容器运行38
3.3.5 运行长时间容器38
3.3.6 查看所有容器39
3.4 习题40
第2篇 Docker的基本使用
第4章 Docker深入解析42
4.1 Docker的架构42
4.2 Docker如何工作43
4.2.1 Docker Image工作方式43
4.2.2 Docker Registry工作方式44
4.2.3 容器工作方式44
4.2.4 底层的技术45
4.3 Docker Client和Daemon46
4.4 通过容器运行Web应用47
4.4.1 使用国内仓库48
4.4.2 拉取apache-php镜像48
4.4.3 运行镜像48
4.4.4 网页访问48
4.4.5 修改页面内容49
4.4.6 持久化容器50
4.5 镜像制作50
4.5.1 查看本机镜像50
4.5.2 获取镜像的三种方式51
4.5.3 查找DockerHub镜像51
4.5.4 查找其他仓库镜像52
4.5.5 push镜像54
4.5.6 根据Dockerfile编译镜像55
4.5.7 删除镜像56
4.6 docker run命令56
4.6.1 docker run的语法格式56
4.6.2 前后台运行57
4.6.3 容器的标识57
4.6.4 PID设置58
4.6.5 UTS(--uts)设置58
4.6.6 IPC(--ipc)设置59
4.6.7 网络设置59
4.6.8 重启策略(--restart)60
4.6.9 Clean up (--rm)61
4.6.10 CGroups控制61
4.6.11 特权模式和Capabilities61
4.6.12 日志驱动(--log-driver)62
4.6.13 覆盖image的默认参数62
4.7 习题63
第5章 容器的网络64
5.1 容器自带网络64
5.2 网络详情65
5.3 用户自定义网络67
5.3.1 桥接网络67
5.3.2 Overlay网络68
5.4 习题71
第6章 容器的数据72
6.1 数据卷72
6.1.1 创建一个数据卷72
6.1.2 映射一个外部卷73
6.2 使用数据型容器73
6.3 备份、还原和迁移数据卷73
6.4 容器和代码进行关联74
6.5 习题74
第7章 镜像仓库75
7.1 仓库相关的Docker命令75
7.1.1 登录75
7.1.2 查找76
7.1.3 拉取76
7.1.4 提交76
7.2 习题76
第3篇 Docker的高级使用
第8章 镜像和容器的存储结构78
8.1 镜像、容器和存储驱动的关系78
8.1.1 镜像和镜像层78
8.1.2 镜像存储方式80
8.1.3 一个迁移例子81
8.1.4 容器和容器层82
8.1.5 写时复制策略83
8.1.6 使用共享技术减小镜像体积83
8.1.7 使用复制技术加快容器启动时间86
8.1.8 数据卷和存储驱动90
8.2 如何选择存储驱动90
8.2.1 存储设备和存储驱动92
8.2.2 如何存储驱动92
8.3 AUFS存储驱动94
8.3.1 AUFS中的镜像94
8.3.2 AUFS中的容器读写95
8.3.3 在AUFS中删除文件95
8.3.4 如何配置AUFS96
8.3.5 镜像的存储方式96
8.3.6 容器的存储方式97
8.3.7 AUFS的性能99
8.4 Devicemapper存储驱动99
8.4.1 Devicemapper中的镜像100
8.4.2 Devicemapper中的读操作101
8.4.3 Devicemapper中的写操作102
8.4.4 如何配置Devicemapper103
8.4.5 在生产环境中配置direct-lvm模式104
8.4.6 Devicemapper的存储方式107
8.4.7 动态扩容loop-lvm模式下的thin pool108
8.4.8 动态扩容direct-lvm模式下的thin pool110
8.4.9 Devicemapper的性能110
8.5 Btrfs存储驱动111
8.5.1 Btrfs中的镜像112
8.5.2 Btrfs的存储方式114
8.5.3 Btrfs中的读写114
8.5.4 如何配置Btrfs115
8.5.5 Btrfs的性能116
8.6 ZFS存储驱动117
8.6.1 ZFS中的镜像117
8.6.2 ZFS中的读写118
8.6.3 如何配置ZFS119
8.6.4 ZFS的性能121
8.7 Overlay存储驱动122
8.7.1 Overlay中的镜像122
8.7.2 Overlay2中的镜像125
8.7.3 Overlay中的读写127
8.7.4 如何配置Overlay/Overlay2127
8.7.5 Overlay的性能128
8.8 习题129
第9章 定制Docker Daemon130
9.1 修改Docker Daemon的三种方式130
9.1.1 直接启动Docker Daemon132
9.1.2 修改Docker Daemon启动项132
9.1.3 自定义Docker Daemon配置文件135
9.2 仓库相关配置137
9.2.1 --disable-legacy-registry选项137
9.2.2 --registry-mirror选项138
9.2.3 --insecure-registry选项139
9.3 安全相关配置139
9.3.1 -p, --pidfile选项139
9.3.2 -H, --host选项139
9.3.3 --tls, --tlscacert, --tlscert, --tlskey, --tlsverify选项141
9.4 日志相关145
9.4.1 -D,--debug选项145
9.4.2 --log-level选项145
9.4.3 --log-driver和--log-opt选项146
9.5 存储相关配置148
9.5.1 -g, --graph选项148
9.5.2 --storage-driver选项148
9.5.3 --storage-opt选项149
9.6 网桥相关配置154
9.6.1 --bip选项154
9.6.2 --fixed-cidr,--fixed- cidr-v6选项154
9.6.3 --mtu选项155
9.6.4 -b, --bridge选项155
9.7 容器与外部通信156
9.7.1 --ip-forward选项156
9.7.2 --iptables选项156
9.7.3 --ip, --ipv6选项156
9.8 其他网络配置157
9.8.1 --default-gateway、--default-gateway-v6选项157
9.8.2 --dns,--dns-opt,--dns-search选项158
9.9 execdriver配置158
9.9.1 --exec-opt选项158
9.9.2 --exec-root选项159
9.10 其他配置159
9.11 习题159
第10章 如何编写Dockerfile160
10.1 本地编译镜像160
10.2 dockerignore文件162
10.3 Dockerfile格式163
10.4 Dockerfile指令详解163
10.4.1 FROM指令163
10.4.2 MAINTAINER指令164
10.4.3 RUN指令164
10.4.4 CMD指令164
10.4.5 LABEL指令165
10.4.6 EXPOSE指令166
10.4.7 ENV指令166
10.4.8 ADD指令168
10.4.9 COPY指令169
10.4.10 ENTRYPOINT指令170
10.4.11 VOLUME指令173
10.4.12 USER指令174
10.4.13 WORKDIR指令174
10.4.14 ARG指令175
10.4.15 ONBUILD指令177
10.4.16 STOPSIGNAL指令178
10.5 CMD、ENTRYPOINT和RUN的区别178
10.6 习题179
第11章 Dockerfile最佳实践181
11.1 基本原则181
11.2 Dockerfile指令最佳实践183
11.2.1 FROM指令最佳实践183
11.2.2 RUN指令最佳实践183
11.2.3 CMD指令最佳实践185
11.2.4 EXPOSE指令最佳实践186
11.2.5 ENV指令最佳实践188
11.2.6 ADD和COPY指令最佳实践189
11.2.7 ENTRYPOINT指令最佳实践191
11.2.8 VOLUME指令最佳实践194
11.2.9 UESR指令最佳实践196
11.2.10 使用gosu工具196
11.2.11 WORKDIR指令最佳实践198
11.2.12 ONBUILD指令最佳实践199
11.3 如何减小镜像体积199
11.4 一些官方镜像的Dockerfile205
11.4.1 Golang镜像205
11.4.2 Perl镜像208
11.4.3 Hy镜像209
11.4.4 Rails镜像210
11.5 习题211
第12章 使用容器提供服务212
12.1 使用容器提供数据库服务212
12.1.1 使用容器提供MySQL212
12.1.2 使用容器提供MongoDB215
12.2 如何使用容器提供Web服务217
12.2.1 使用容器提供Apache HTTP服务217
12.2.2 使用容器提供Django服务218
12.2.3 使用容器提供Gitlab服务219
12.3 如何使用容器提供编程环境220
12.3.1 使用容器提供Java环境221
12.3.2 使用容器提供Golang环境222
12.4 习题225
第13章 建立私有镜像仓库226
13.1 镜像仓库配置详解227
13.2 version选项231
13.3 log选项231
13.4 hooks选项231
13.5 storage选项232
13.5.1 filesystem选项233
13.5.2 azure选项234
13.5.3 gcs选项234
13.5.4 s3选项234
13.5.5 swift选项235
13.5.6 oss选项236
13.5.7 delete选项237
13.5.8 cache选项237
13.5.9 maintenance选项237
13.5.10 redirect选项238
13.6 auth选项238
13.6.1 silly选项239
13.6.2 token选项239
13.6.3 htpasswd选项239
13.7 middleware选项240
13.8 reporting选项241
13.8.1 bugsnag选项241
13.8.2 newrelic选项241
13.9 http选项242
13.9.1 tls选项242
13.9.2 debug选项243
13.9.3 headers选项243
13.10 notifications选项243
13.11 redis选项244
13.12 health选项245
13.12.1 storagedriver选项245
13.12.2 file选项246
13.12.3 http选项246
13.12.4 tcp选项246
13.13 proxy选项247
13.14 镜像仓库配置实例247
13.14.1 启动容器数据持久化247
13.14.2 使用文件系统保存镜像248
13.14.3 使用对象存储保存镜像248
13.14.4 通过中间件使用
CDN服务249
13.15 习题250
第4篇 Docker常见问题
第14章 Docker常见问题252
14.1 Docker基础问题252
14.1.1 什么是虚拟化技术252
14.1.2 虚拟化有哪些分类252
14.1.3 Docker目前支持哪些操作系统253
14.1.4 哪种系统最适合运行Docker253
14.1.5 Docker有什么好处253
14.1.6 容器化技术是什么时候出现的253
14.1.7 Docker和虚拟机有什么区别253
14.1.8 使用Docker容器需要什么基础知识254
14.1.9 如何学习Docker254
14.2 Docker高级问题255
14.2.1 Docker是否安全255
14.2.2 如何修改已经运行的容器255
14.2.3 容器有哪些网络模式255
14.2.4 容器如何进行持久化256
14.2.5 为什么进入容器,但退出后容器就停止了256
14.2.6 容器停止了,如何分析原因256
14.2.7 Link容器是什么意思256
14.2.8 容器环境变量有什么用途256
14.2.9 容器中CPU、磁盘IO、网络损耗大吗257
14.3 镜像相关257
14.3.1 什么是Dockerfile257
14.3.2 Dockerfile书写的最佳实践是什么257
14.3.3 容器运行中Entrypoint和CMD的区别258
14.3.4 Docker中容器镜像的区别258
14.3.5 Docker的镜像仓库有哪些259
14.3.6 如何拥有私有仓库259
14.4 Docker三剑客260
14.4.1 什么是Docker Machine260
14.4.2 什么是Docker Compose260
14.4.3 什么是Docker Swarm260
14.5 习题260
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价