关于我们
![]() ![]() |
Docker即学即用 本书的主要内容有:了解Docker和Linux容器如何与云服务和Kubernetes集成。构建Open Container Initiative(OCI)映像,使用强大的命令行工具部署和管理Linux容器。了解OCI映像如何简化应用的依赖管理和部署流程。学习在生产中部署和测试Linux容器的实用技术。在任何需要的地方大规模部署生产容器。探讨一些Docker高级话题,包括部署工具、网络、编排、安全和配置。 编辑推荐 前言本书针对想切实理解Linux 容器、了解如何使用容器改进开发和生产实践的人。大多数现代集成工作流程和生产系统要求开发人员和运维工程师对Linux 容器以及如何利用容器显著提高整个系统的可重复性和可预测性有深入的了解。在学习过程中,我们将探讨在Docker 生态系统中如何构建、测试、部署和调试Linux 容器,还将涵盖利用Linux 容器的重要编排工具。最后,结合以上内容,给出一些有关容器环境安全性和最佳实践方面的指导。目标读者本书的目标读者是那些在开发和大规模部署软件的过程中遇到复杂工作流程而在寻找解决方案的人。如果你对Linux 容器、Docker、DevOps 和可弹性伸缩的大规模软件基础设施感兴趣,绝不能错过这本书!为什么读这本书如今,网上到处都在讨论Docker,有许多使用Docker 的项目,还有很多关于Docker 的文章。甚至,有人已经开始预言Docker 的衰败。既然如此,为什么还要花费宝贵的时间阅读这本书呢?尽管现在出现了其他替代方案,但Docker 凭一己之力把Linux 容器推到了所有工程师面前。在Docker 创建容器映像格式、构建现今容器化系统用到的许多核心库之前,Linux 容器非常难用,而且使用群体主要是大型云托管公司,因为他们需要提供可扩展性,同时还想保护系统免受不良用户代码的危害。Docker 改变了这一切。尽管有关Docker 和Linux 容器的信息很多,但是环境在发展,最佳实践也在变化。假设你在阅读一篇四年前发表的关于Docker 的博客文章。文章的内容或许仍然奏效,但可能不再是最好的方法。在我们撰写本书第一版期间,Docker公司发布了四个Docker 版本和一些重要工具。本书第一版和第三版相隔七年,Docker 世界发生了天翻地覆的变化。Docker 已经稳定下来,现在有许多其他工具可以扮演类似的角色。如今,DevOps 工作流程的几乎每个方面都有许多强大的选择,早就过了工具匮乏的时期。了解Linux 容器和Docker 提供的功能、了解如何把它们融入自己的工作流程,以及正确集成一切,都不是简单的事。过去九年,我们与多家公司合作,为他们构建和运营各种Linux 容器平台,涵盖Docker、Mesos 和Kubernetes。Docker 发布几个月之后我们就开始在生产环境使用Docker,积累了很多经验,在本书中将与你一一分享。我们的目的是给你提供前车之鉴,避免重蹈覆辙。Docker 项目的在线文档(https://docs.docker.com)确实有用,不过我们写这本书是想让你对Docker 有更全面的认识,告诉你我们在使用Docker 的过程中总结出的最佳实践。读完本书之后,你将掌握足够的知识,知道Linux 容器是什么、Docker 提供了哪些功能,为什么二者如此重要,以及如何在本地开发和线上环境中利用它们提升效率。我们希望通过一些非常真实的运用让你快速掌握引起你兴趣的技术。内容结构本书的结构如下。? 第1 章和第2 章简要介绍Docker,说明Docker 是什么、能用来做什么。? 第3 章说明Docker 的安装步骤。? 第4 章到第6 章探讨Docker 客户端、映像和容器,说明这三者是什么以及如何使用。? 第7 章讨论如何调试映像和容器。? 第8 章介绍Docker Compose,说明它在开发复杂的容器化服务的过程中起到的简化作用。? 第9 章探讨转移到生产环境的过程中需要注意的事项。? 第10 章探讨如何在公共云和私有云中大规模部署容器。? 第11 章探讨一些高级话题,若想理解这些话题,需要对Docker 有一定的了解。开始在生产环境中使用Docker 后,这些话题将变得很重要。? 第12 章介绍一些可在容器化Linux 环境中使用的替代工具。? 第13 章探讨一些关于如何设计适合互联网量级的下一代软件的核心概念,这些概念已经开始得到业界的一致认同。? 第14 章总结本书内容,概述如何使用现有的技术改进交付和弹性伸缩软件服务的方式。我们发现,很多读者不会逐页阅读技术书籍,而且有些读者特别喜欢跳过前言。如果你还在阅读前言,下面简单说明阅读本书的几种方式。? 如果你刚接触Linux 容器,请从头开始阅读。前两章的目的是让你了解Docker 和Linux 容器的基本知识,介绍Docker 和Linux 容器是什么、二者的工作方式,以及为什么要使用它们。? 如果你想直接学习如何在工作站中安装并运行Docker,请跳到第3 章和第4 章。这两章说明如何安装Docker、如何创建和下载映像、如何运行容器等。? 如果你已经熟悉Docker 基本知识,想学习如何利用Docker 做开发,请阅读第5 章到第8 章。这几章说明日常使用Docker 相关的技能,并对Docker Compose 做了详尽介绍。? 如果你已经在开发过程中使用Docker,想知道如何在生产环境中使用,请阅读第9 章和第12 章。这一部分涉及容器部署、容器平台设置等高级话题。? 如果你是软件或平台架构师,可能会对第13 章感兴趣。这一章探讨当前对容器化应用和横向扩展服务的思考。排版约定本书使用以下排版约定。斜体(Italic)表示新术语、URL、电子邮件地址、文件名和文件扩展名。等宽字体(Constant width)表示程序代码清单,也表示正文中出现的变量、函数名、数据库、数据类型、环境变量、语句和关键字等程序元素。加粗等宽字体(Constant width bold)表示命令或者其他应该由用户原样输入的内容。尖括号中的等宽字体()表示需要使用用户的输入值代替的文本,或者由上下文决定的值。使用代码示例本书附带资源( 代码示例、练习等) 的下载地址:https://github.com/bluewhalebook/docker-up-and-running-3rd-edition。本书是要帮你完成工作的。一般来说,你可以在自己的程序或文档中使用书中的代码。除非你使用了很大一部分代码,否则无须联系我们获得许可。例如,用书中的几个代码片段写一个程序就无需获得许可,销售或分发OReilly 图书的示例合集需要获得许可;引用书中的示例代码回答问题无须获得许可,把书中的大量代码放到你的产品文档中需要获得许可。我们很希望但并不强制要求你在引用本书内容时加上引用说明。引用说明一般包括书名、作者、出版社和 ISBN。例如:Docker: Up & Running, 3e, by Sean P. Kane with Karl Matthias (OReilly). Copyright 2023 Sean P. Kane and Karl Matthias, 978-1-098-13182-1。如果你觉得自己对示例代码的使用超出了上述许可范围,请通过permissions@oreilly.com 联系我们。OReilly 在线学习平台(OReilly Online Learning)近40 年来,OReilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。公司独有的专家和改革创新者网络通过OReilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。OReilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自OReilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。联系我们任何有关本书的意见或疑问,请按照以下地址联系出版社。美国:OReilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中国:北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)奥莱利技术咨询(北京)有限公司勘误、示例和其他信息可访问https://oreil.ly/docker-up-and-running-3e 获取。对本书的评论或技术疑问,可以发电子邮件到errata@oreilly.com.cn。欲了解本社图书和课程的新闻和信息,请访问https://oreilly.com。我们的LinkedIn:https://linkedin.com/company/oreilly-media。我们的Twitter:https://twitter.com/oreillymedia。我们的YouTube:https://youtube.com/oreillymedia。致谢衷心感谢让本书每一版得以出版的诸位。? 感谢New Relic 公司的Nic Benders、Bjorn Freeman-Benson 和Dana Lawson,他们对第一版给予的帮助超乎想象,给我们留出了充足的时间写作。? 感谢Roland Tritsch 和Nitro Software 公司支持Karl 修订第二版。? 感谢OReilly 出版社的Laurel Ruma,她最先联系我们,让我们写一本关于Docker 的书;感谢Mike Loukides,他帮助我们按部就班地写作本书。? 特别感谢第一版的编辑Brian Anderson,他告诉我们该做什么,在写作过程中一直给予我们指导。? 感谢Nikki McDonald 和Virginia Wilson 在修订本书第二版的过程中给予的帮助。? 感谢John Devins、Michele Cronin 和Elizabeth Faerm,他们付出了极大的努力,确保第三版得以付梓。? 感谢Terraform: Up & RunningYevgeniy 一书的作者Yevgeniy (Jim) Brikman,他非常慷慨,允许我们参照他之前的工作成果设计https://dockerupandrunning.com 网站。? 传播新技术需要特殊人才的支持。非常感谢Lars Herrmann、Laura Frank Tacho 和Raju Gandhi 分别为本书的三个版本作序。? 感谢本书草稿的审稿人,他们在本书写作过程中帮助我们不偏离轨道。他们是:第一个审阅本书并写了完整技术审校报告的Ksenia Burlachenko,以及Andrew T. Baker、Sébastien Goasguen、Henri Gomez、Chelsey Frank、Rachid Zarouali、Werner Dijkerman、Predrag Kne?evi? 和Vishwesh Ravi Shrimali。? 特别感谢Alice Goldfuss 和Tom Offermann,他们在写作第一版的过程中一直给我们细致的反馈。感谢Mihai Todor 在第二版的修订过程中鼓励我们,审校书稿、反馈问题。? 感谢Gillian McGarvey、Melanie Yarbrough、Justin Billing、Rachel Monaghan 和Sonia Saruba 编辑书稿,她们编辑后的书稿太好了,好像我们在高中的英语课上真的认真听讲了一样。她们添加了517 个逗号,或许还不止。? 感谢Sue Klefstad 为第三版建立索引,确保索引对所有读者都有用。感谢Wendy Catalano 和Ellen Troutman 为前两版建立索引。? 特别感谢Nick Adams 和OReilly Media 的幕后工作人员,他们确保了一切内容在所有发行格式中都显示得恰到好处。? 感谢New Relic 和Nitro 公司的所有同事,在使用Docker 的过程中他们一直陪伴左右,为我们提供了本书讲到的很多经验。? 感谢Grains of Wrath Brewery、World Cup Coffee、McMenamins Ringlers Pub、Old Town Pizza、A Beer at a Time!、Taylors Three Rock 等店,他们人很好,吃完饭很久之后依然让我们占用饭桌,用他们的电。? 感谢我们的家人,他们给予我们支持,在需要时为我们提供安静的环境。? 最后,感谢在本书出版过程中鼓励我们,给我们提供建议和支持的其他所有人。 Sean Kane是techlabs.sh的创始人和SuperOrbital的首席生产运维工程师。Karl Matthias是Community.com的架构副总裁。 目录
你还可能感兴趣
我要评论
|