万本电子书0元读

万本电子书0元读

顶部广告

Docker实践电子书

作为一个源的容器系统,Docker 让部署应用程序变得既平滑又灵活。Docker 强大又易于使用,而且它通过更短的构建周期、更少的产品缺陷、无需费力的应用程序滚动发行,让发人员和系统管理的工作都更加容易。 这是一本涵盖了101 个技巧的实操指南,读者可以用它来获得Docker 的大部分知识。本书遵循手册风格的“问题/ 解决方案/ 讨论”模式,针对很重要的问题,如轻松的服务器管理和配置、部署微服务、为实验而创建安全的环境等,为读者提供了及时有用的解决方案。在阅读本书的过程中,读者不但能学到Docker 的基础知识,还能学到Docker 的实践,如将Docker 和持续集成过程结合使用、使用Chef 来自动化复杂容器的创建过程以及使用Kubernetes 行容器编排等。

售       价:¥

纸质售价:¥58.80购买纸书

1198人正在读 | 3人评论 6.9

作       者:(美) 伊恩·米尔(Ian Miell) 艾丹·霍布森·塞耶斯(Aidan Hobson Sayers)

出  版  社:人民邮电出版社

出版时间:2018-02-01

字       数:32.0万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(4条)
  • 读书简介
  • 目录
  • 累计评论(4条)
《Docker实践》由浅深地讲解了Docker的相关内容,涵盖从发环境到DevOps流水线,再一路到生产环境的整个落地过程以及相关的实用技巧。书中介绍Docker的核心概念和架构,以及将Docker和发环境有机、高效地结合起来的方法,包括用作轻量级的虚拟机以及构建和宿主机编排、配置管理、精简镜像等。不仅如此,本书还通过“问题/解决方案/讨论”的形式,将“Docker如何融DevOps流水线”“如何在生产环境落地”等一系列难题拆解成101个相关的实用技巧,为读者提供解决方案以及一些细节和技巧方面的实践经验。阅读本书,读者将学到的不只是Docker,还包括持续集成、持续交付、构建和镜像管理、容器编排等相关领域的一线生产经验。本书编写时一些案例参考的Docker版本是Docker 1.9。 《Docker实践》要求读者具备一定的容器管理和运维的基础知识,适合想要将Docker投实践的相关技术人员阅读,尤其适合具有中 高 级DevOps和运维背景的读者阅读。<br/>【推荐语】<br/>作为一个源的容器系统,Docker 让部署应用程序变得既平滑又灵活。Docker 强大又易于使用,而且它通过更短的构建周期、更少的产品缺陷、无需费力的应用程序滚动发行,让发人员和系统管理的工作都更加容易。 这是一本涵盖了101 个技巧的实操指南,读者可以用它来获得Docker 的大部分知识。本书遵循手册风格的“问题/ 解决方案/ 讨论”模式,针对很重要的问题,如轻松的服务器管理和配置、部署微服务、为实验而创建安全的环境等,为读者提供了及时有用的解决方案。在阅读本书的过程中,读者不但能学到Docker 的基础知识,还能学到Docker 的实践,如将Docker 和持续集成过程结合使用、使用Chef 来自动化复杂容器的创建过程以及使用Kubernetes 行容器编排等。 本书主要内容 ● 加速 DevOps流水线。 ● 成本低廉地替换虚拟机。 ● 提高云端工作流程的效率。 ● 使用 Docker Hub。 ● 引 领到 Docker 生态系统。 本书写给对Docker 感兴趣的人。<br/>【作者】<br/>伊恩·米尔(Ian Miell)和艾丹·霍布森·塞耶斯(Aidan HobsonSayers)对Docker 有所贡献,并且在大规模环境里构建和维护基于Docker 的基础设施方面有丰富的经验。 译者简介 吴佳兴,毕业于华东理工大学计算机系,目前是bilibili 基础平台研发团队的一员,主要研究方向有CI CD、监控和运维自动化、基于容器的PaaS 平台建设、微服务架构等。2014 年年底有幸加DockOne 社区,作为译者,利用闲暇时间为社区贡献一些微薄的力量。个人博客。欢迎邮件联系。 黄博文,ThoughtWorks 资 深软件工程师/咨询师,担任过发、测试、运维、技术经理等角色,在国内外多家企业做过技术教练以及技术咨询,拥有丰富的敏捷团队工作经验。目前专注于DevOps 技术及云端架构,在搭建持续集成及部署平台、自动化构建基础设施、虚拟化环境、云端运维等方面有着丰富的经验。拥有AWS 解决方案架构师以及发 者证书。个人博客为t,个人邮箱为。译作有《Effective JavaScript》《Html5 和CSS3 响应式设计指南》《C#多线程编程实战》《面向对象的思考过程》《基础设施即代码》等。 杨锐,前ThoughtWorks 咨询师,DevOps 领域持续关注者,任职期间曾任某海外大型项目DevOps 工程师,对其持续交付、基础设施即代码、流水线即代码等方面行了持续推动,对云计算、容器化、持续交付等有一定经验。现供职美团评。 梁晓勇,毕业于厦门大学,现任某互联网金融公司架构师,DockOne 社区编外人员。长期奋战在技术研发第 一线,在网络管理、技术发、架构设计等方面略有心得。热爱互联网技术,积极投身源社区,对Docker 等容器技术具有浓厚兴趣。欢迎邮件联系<br/>
目录展开

内容提要

译者简介

前言

致谢

关于本书

路线图

代码

作者在线

关于封面插画

第一部分 Docker基础

第1章 Docker初探

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

1.1.1 Docker是什么

1.1.2 Docker有什么好处

1.1.3 关键的概念

1.2 构建一个Docker应用程序

1.2.1 创建新的Docker镜像的方式

1.2.2 编写一个Dockerfile

1.2.3 构建一个Docker镜像

1.2.4 运行一个Docker容器

1.2.5 Docker分层

1.3 小结

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

2.1 Docker的架构

2.2 Docker守护进程

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

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

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

2.3 Docker客户端

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

技巧5 使用端口连接容器

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

技巧7 在浏览器中使用Docker

2.4 Docker注册中心

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

2.5 Docker Hub

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

2.6 小结

第二部分 Docker与开发

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

3.1 从虚拟机到容器

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

技巧11 类宿主机容器

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

3.2 管理容器的服务

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

3.3 保存和还原工作成果

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

技巧15 给Docker打标签

技巧16 在Docker Hub上分享镜像

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

3.4 进程即环境

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

3.5 小结

第4章 Docker日常

4.1 卷——持久化问题

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

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

技巧21 保留容器的bash历史

技巧22 数据容器

技巧23 使用SSHFS挂载远程卷

技巧24 通过NFS共享数据

技巧25 开发工具容器

4.2 运行容器

技巧26 在Docker里运行GUI

技巧27 检查容器

技巧28 干净地杀掉容器

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

4.3 构建镜像

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

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

技巧32 拆分缓存

4.4 保持阵型

技巧33 运行Docker时不加sudo

技巧34 清理容器

技巧35 清理卷

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

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

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

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

4.5 小结

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

5.1 配置管理和Dockerfile

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

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

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

技巧43 镜像的扁平化

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

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

5.2 传统配置管理工具与Docker

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

技巧47 借助Chef Solo构建镜像

技巧48 从源到镜像的构建

5.3 小即是美

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

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

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

技巧52 Go模型的最小容器

技巧53 使用inotifywait给容器瘦身

技巧54 大也可以美

5.4 小结

第三部分 Docker与DevOps

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

6.1 Docker Hub自动化构建

技巧55 使用Docker Hub工作流

6.2 更有效的构建

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

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

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

6.3 容器化CI过程

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

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

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

6.4 小结

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

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

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

7.2 推动Docker镜像的部署

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

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

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

7.3 为不同环境配置镜像

技巧66 使用etcd通知容器

7.4 升级运行中的容器

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

7.5 小结

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

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

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

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

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

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

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

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

8.3 Docker和虚拟网络

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

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

8.4 小结

第四部分 生产环境中的Docker

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

9.1 简单的单台宿主机

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

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

9.2 多宿主机Docker

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

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

技巧79 使用Kubernetes集群

技巧80 在Mesos上构建框架

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

9.3 服务发现:我们有什么

技巧82 使用Consul来发现服务

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

9.4 小结

第10章 Docker与安全

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

你在乎吗

10.2 Docker中的安全手段

技巧84 限制能力

技巧85 Docker实例上的HTTP认证

技巧86 保护Docker API

10.3 来自Docker以外的安全

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

技巧88 使用安全选项

10.4 小结

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

11.1 监控

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

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

技巧91 使用cAdvisor监控容器

11.2 资源控制

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

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

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

11.3 Docker的系统管理员用例

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

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

11.4 小结

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

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

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

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

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

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

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

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

12.3 小结

附录A 安装并使用Docker

A.1 虚拟机的方式

A.2 连接到外部Docker服务器的Docker客户端

A.3 原生Docker客户端和虚拟机

Windows上的Docker

A.4 获得帮助

附录B Docker配置

B.1 重启Docker

B.1.1 使用systemctl重启

B.1.2 重启服务

附录C Vagrant

C.1 设置

C.2 图形用户界面

C.3 内存

累计评论(4条) 5个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部