
实物拍摄 · 支持放大查看
本书由浅入深地讲解了Docker的相关内容,涵盖从开发环境到DevOps流水线,再一路到生产环境的整个落地过程以及相关的实用技巧。书中介绍Docker的核心概念和架构,以及将Docker和开发环境有机、地结合起来的方法括背Docker用作轻量级虚拟机、构建容器、宿主机编排、配置管理、精简镜像等。不仅如此,本书还通过“问题-解决方案-讨论”的形式,将Docker如何融入DevOps流水线、如何在生产环境落地等一系列难题拆解成114个相关的实用技巧,为读者提供解决方案以及一些细节和技巧方面的实践经验。阅读本书,读者学到的不只是Docker,括持续集成、持续交付、构建和镜像管理、容器编排等相关领域的一线生产经验。本书编写时一些案例参考的Docker版本是Docker 1.13。 本书要求读者具备的容器管理和运维的基础知识,适合想要将Docker投入实践的相关技术人员阅读,尤其适合具有中DevOps和运维背景的读者阅读。
部分 Docker基础第1章 Docker初探 31.1 Docker是什么以及为什么用Docker 41.1.1 Docker是什么 41.1.2 Docker有什么好处 61.1.3 关键的概念 71.2 构建一个Docker应用程序 91.2.1 创建新的Docker镜像的方式 101.2.2 编写一个Dockerfile 111.2.3 构建一个Docker镜像 121.2.4 运行一个Docker容器 131.2.5 Docker分层 161.3 小结 17第2章 理解Docker——深入引擎室 182.1 Docker的架构 182.2 Docker守程 20技巧1 向世界开放Docker守程 20技巧2 以守程方式运行容器 22技巧3 将Docker移动到不同分区 252.3 Docker客户端 26技巧4 使用socat监控Docker API流量 26技巧5 在浏览器中使用Docker 29技巧6 使用端口连接容器 31技巧7 允许容器通信 33技巧8 链接容器实现端口隔离 342.4 Docker注册中心 36技巧9 建立一个本地Docker注册中心 372.5 Docker Hub 38技巧10 查找并运行一个Docker镜像 392.6 小结 41部分 Docker与开发第3章 将Docker用作轻量级虚拟机 453.1 从虚拟机到容器 46技巧11 将虚拟机转换为容器 46技巧12 类宿主机容器 49技巧13 将一个系统拆成微服务容器 51技巧14 管理容器内服务的启动 543.2 保存和还原工作成果 57技巧15 “保存游戏”的方式:廉价的源代码管理 57技巧16 给Docker打标签 59技巧17 在Docker Hub上分享镜像 62技巧18 在构建时指向特定的镜像 643.3程即环境 65技巧19 “保存游戏”的方式:在2048里获胜 653.4 小结 67第4章 构建镜像 684.1 构建镜像 68技巧20 使用ADD指令将文件注入镜像里 68技巧21 不带缓存的重新构建 71技巧22 清除缓存 73技巧23 使用build-args实现智能的缓存清除 74技巧24 使用ADD指令实现智能的缓存清除 78技巧25 在容器里设置正确的时区 81技巧26 语言环境管理 83技巧27 image-steper遍历镜像分层 86技巧28 ONBUILD指令和golang 904.2 小结 93第5章 运行容器 945.1 运行容器 94技巧29 在Docker里运行GUI 94技巧30 检查容器 97技巧31 干净地“杀死”容器 98技巧32 使用Docker Machine置备Docker宿主机 100技巧33 带通配符的DNS 1045.2 卷——持久化问题 105技巧34 Docker卷——持久化的问题 105技巧35 通过Resilio Sync 实现的分布式卷 107技巧36 保留容器的bash历史 109技巧37 数据容器 111技巧38 使用SSHFS挂载远程卷 113技巧39 通过NFS共享数据 115技巧40 开发工具容器 1185.3 小结 119第6章 Docker日常 1206.1 保持阵型 120技巧41 运行Docker时不加sudo 120技巧42 清理容器 121技巧43 清理卷 123技巧44 无须停止容器,从容器里解绑 125技巧45 使用Portainer来管理Docker守程 125技巧46 生成Docker镜像的依赖图 126技巧47 直接行动:在容器上执行命令 129技巧48 你在容器里吗 1306.2 小结 131第7章 配置管理,让一切井然有序 1327.1 配置管理和Dockerfile 132技巧49 使用ENTRYPOINT创建可靠的定制工具 133技巧50 在构建中指定版本来避免软的漂移 134技巧51 用perl -p -i -e替换文本 136技巧52 镜像的化 138技巧53 用Alien管理外来软 1407.2 传统配置管理工具与Docker 142技巧54 传统方式:搭配make和Docker 142技巧55 借助Chef Solo构建镜像 1457.3 小即是美 149技巧56 让镜像变得更小的技巧 149技巧57 通过BusyBox和Alpine精简Docker镜像 151技巧58 Go模型的小容器 153技巧59 使用inotifywait给容器 156技巧60 大也可以美 1597.4 小结 161第三部分 Docker与DevOps第8章 持续集成:加快开发流水线 1658.1 Docker Hub自动化构建 165技巧61 使用Docker Hub工作流 1668.2 更有效的构建 169技巧62 使用eatmydata为I/O密集型构建提速 169技巧63 设置一个软缓存用于加快构建速度 171技巧64 容器里的无头Chrome 174技巧65 在Docker内部运行Selenium测试 1768.3 容器化CI过程 181技巧66 在一个Docker容器里运行Jenkins主服务器 181技巧67含一个复杂的开发环境 183技巧68 使用Jenkins的Swarm插件扩展CI 188技巧69 地升级容器化Jenkins服务器 1918.4 小结 195第9章 持续交付:与Docker原则契合 1969.1 在CD流水线上与其他团队互动 197技巧70 Docker契约:减少摩擦 1979.2 推动Docker镜像的部署 199技巧71 手动同步注册中心镜像 200技巧72 通过受限连接交付镜像 201技巧73 以TAR文件方式共享Docker对象 2039.3 为不同环境配置镜像 205技巧74 使用etcd通知容器 2059.4 升级运行中的容器 208技巧75 使用confd启用零停机时间切换 2099.5 小结 213第10章 网络模拟:的现实环境测试 21410.1 容器通信:手工链接 214技巧76 一个简单的Docker Compose集群 214技巧77 一个使用Docker Compose的SQLite服务器 21810.2 使用Docker模拟真实世界的网络 222技巧78 使用Comcast模拟有问题的网络 223技巧79 使用Blockade模拟有问题的网络 22610.3 Docker和虚拟网络 230技巧80 创建另一个Docker虚拟网络 231技巧81 使用Weave建立一个基底网络 23410.4 小结 237第四部分 从单机到云的编排第11章 容器编排入门 24111.1 简单的单台宿主机 242技巧82 使用systemd管理宿主机上的容器 242技巧83 编排宿主机上的容器的启动 24611.2 手动多宿主机Docker 249技巧84 使用Helios手动管理多宿主机Docker 24911.3 服务发现:我们有什么 254技巧85 使用Consul发现服务 255技巧86 使用Registrato行自动化服务注册 26211.4 小结 264第12章 使用Docker实现数据中心即操作系统 26512.1 多宿主机Docker 265技巧87 swarm模式的无缝Docker集群 265技巧88 使用Kuberes集群 269技巧89 在pod内访问Kuberes API 274技巧90 使用OpenShift在本地运行AWS API 277技巧91 在Mesos上构建框架 283技巧92 使用Marathon细粒度管理Mesos 29012.2 小结 293第13章 Docke台 29413.1 组织选择的因素 29513.1.1 投放到市场的时间 29713.1.2 购买与构建 29713.1.3 单体与零散 29813.1.4 开源与授权 29913.1.5 态度 29913.1.6 消费者独立 30013.1.7 云策略 30013.1.8 组织结构 30013.1.9 台? 30013.1.10 组织选择因素结论 30113.2 采用Docker时需要考虑的方面 30113.2.1 与控制 30113.2.2 构建和分发镜像 30713.2.3 运行容器 30913.3 供应商、组织和产品 31113.3.1 云原生计算基金会(CF) 31113.3.2 Docker公司 31313.3.3 谷歌 31313.3.4 微软 31313.3.5 31413.3.6 Red Hat 31413.4 小结 315第五部分 生产环境中的Docker第14章 Docker与 31914.1 Docker访问权限及其意味着什么 319你在乎吗 32014.2 Docker中的手段 320技巧93 限制能力 321技巧94 扫描一个“坏”Docker镜像 32414.3 保卫对于Docker的使用 325技巧95 Docker实例上的认证 326技巧96 保护Docker API 32914.4 Docker外部的 333技巧97 使用DockerSlim来减少容器攻击者的攻击面 333技巧98 去除在构建中加入的密码 338技巧99 OpenShift—— 一个应用程台即服务 342技巧100 使用选项 35014.5 小结 357第15章 一帆风顺:在生产环境中运行Docker 35815.1 监控 358技巧101 记录容器的日志到宿主机的syslog 358技巧102 记录Docker日志的输出 361技巧103 使用cAdvisor监控容器 36315.2 资源控制 365技巧104 限制容器可以运行的内核 365技巧105 给重要的容器更多CPU 366技巧106 限制容器的内存使用 36715.3 Docker的系统管理员用例 369技巧107 使用Docker运行cron作业 369技巧108 通过“保存游戏”的方法来备份 37215.4 小结 374第16章 Docker生产环境实践——应对各项挑战 37516.1 能:不能忽略宿主机 375技巧109 从容器访问宿主机资源 375技巧110 禁用内存溢出杀手 37916.2 在容器出问题时——调试Docker 381技巧111 使用nsenter调试容器的网络 381技巧112 无须重新配置,使用tcpflo行实时调试 384技巧113 调试在特定宿主机上出问题的容器 386技巧114 从镜像中提取文件 38916.3 小结 391附录A 安装并使用Docker 392A.1 虚拟机的方式 392A.2 连接到外部Docker服务器的Docker客户端 393A.3 原生Docker客户端和虚拟机 393Windows上的Docker 393A.4 获得帮助 395附录B Docker配置 396B.1 配置Docker 396B.2 重启Docker 397B.2.1 使用systemctl重启 397B.2.2 重启服务 398附录C Vagrant 399C.1 设置 399C.2 图形用户界面 399C.3 内存 400
品相说明:本书为八品,书脊轻微磨损,内页整洁无涂画,无缺页少页,具体以实物照片为准。
品相标准:十品为全新未翻阅;九品近全新有轻微痕迹;八品有明显使用痕迹但内容完整;七品及以下为有破损或缺页,页面会有详细说明。
瑕疵说明:拍品图片均为实物拍摄,因显示设备差异可能存在轻微色差,以收到实物为准。
交易方式:本站采用担保交易,买家付款后资金由平台托管,确认收货无误后放款给卖家。
配送说明:下单后 48 小时内发货,默认快递发货,满 99 元包邮,多件订单可合并运费。
议价规则:标注「价格面议」的商品可通过站内消息与卖家议价,达成一致后改价下单。
七天无理由退换:收到商品七日内,若与描述不符可申请退换,运费由责任方承担。
纠纷处理:如发生交易纠纷,可提交平台介入处理,客服 09:00-18:00 在线受理。
正品保障:平台对古籍、签名本等贵重商品提供鉴定咨询服务,发现赝品全额退款。