Docker 有几个技术和业务优势。应用开发、部署和交付自动化的长期目标是通过 Docker 支持的容器化来实现的,容器化被吹捧为云模式巨大成功的关键自动化方法。现有工作负载是容器化的,支持云,可以存储在公共和私有存储库中。业务和 IT 工作负载都可以被轻松地处理、打包,并呈现为可远程发现、可用、可移植和可组合的容器。此外,容器运输和运行无处不在,没有任何麻烦,故障和障碍。容器化概念使信息技术基础设施和流程变得灵活和适应性强。这意味着不仅软件工程加快了,而且软件配置、部署和交付的任务也加快了。准确地说,DevOps 的独特目标是通过容器的智能使用来实现的。
除了一系列以 Docker 为中心的解决方案之外,还有越来越多的第三方工具来支持和实现 Docker 无风险、更容易、更快。有强大的案例研究和真实世界的部署清楚地表明,Docker 始终致力于在几分钟内而不是几个月内建立和维持信息技术环境。Docker 范例带来的其他值得注意的进步包括应用基础架构的实时可伸缩性,以及通过在任何 Docker 主机中拥有几个应用容器而带来的信息技术资源利用率的提高。有用于高效容器调度的容器集群管理平台,以及用于快速生产和维护多主机、多容器和以微服务为中心的分布式应用的编排平台。
经过广泛讨论的 Docker 技术在确保事件驱动、面向服务、洞察填充、上下文感知、云托管、以业务为中心和任务关键的应用方面的角色和责任非常迷人,并在本书的新版本中得到很好的阐述,以便为我们的读者提供最受欢迎的 Docker 范式的所有相关细节。
第 1 章、Docker 入门讲述了开源 Docker 平台的各种区别,以及它如何简化和加快实现容器化工作负载的过程,以便在各种操作系统、裸机服务器和虚拟机上轻松部署和运行。本章还提供了安装 Docker 引擎、从集中式 Docker Hub 下载 Docker 映像、从该映像创建 Docker 容器以及对 Docker 容器进行故障排除的分步详细信息。
第 2 章、处理 Docker 容器,致力于清晰解释管理 Docker 映像和容器所需的各种命令。本章提供了理解 Docker 命令输出所需的基本 Docker 术语。这里涉及的其他细节包括在容器内启动交互式会话、管理映像、运行容器以及跟踪容器内的更改。
第三章、建筑影像,描述了 Docker 影像是如何建造的。构建和存储 Docker 映像有几种方式和方法。本章涵盖的其他重要主题包括 Dockerfile 语法的快速概述和 Docker 如何存储映像的一些理论信息。
第 4 章、发布影像,告诉你关于在集中式 Docker Hub 上发布影像的一切,以及如何最大限度地利用 Docker Hub。本章中的其他重要内容包括关于 Docker Hub 的更多细节,如何将映像推送到 Docker Hub,映像的自动构建,如何在 Docker Hub 上创建组织,最后是私有存储库。
第 5 章运行您的私有 Docker 基础设施,解释了企业如何建立和运行他们自己的私有仓库。企业希望拥有自己的存储库来托管一些关键的 Docker 映像,有几个合理的理由。这意味着公共可用的存储库不适合存储某些特定的映像。本章包含了建立和维护私有存储库所需的所有信息。
第 6 章、在容器中运行服务说明了 web 应用如何作为服务在 Docker 容器中运行,以及如何公开该服务,以便外部世界找到并访问它。还详细描述了如何开发适当的 Dockerfile 来简化该任务。
第 7 章、与容器共享数据,向您展示了如何使用 Docker 的卷功能在 Docker 主机及其容器之间共享数据。这里涉及的其他主题是如何在容器之间共享数据、常见用例以及要避免的典型陷阱。
第 8 章、编排容器,解释了如何为复合和容器化工作负载编排多个容器。众所周知,编排在生成复合应用中起着重要作用。本章包括有关编排流程的相关详细信息,以及可用于启用编排流程的工具集。最后,您将找到一个精心编排的例子,说明如何编排容器来产生高度可重用和业务感知的容器。
第 9 章、用 Docker 进行测试,重点是在 Docker 映像中测试您的代码。您还将了解如何在临时 Docker 映像中运行测试。最后,您将获得如何将 Docker 测试集成到持续集成服务器(如 Jenkins)中的详细信息。
第 10 章、调试容器,教你如何调试容器内运行的应用。还介绍了 Docker 如何确保容器内部运行的进程与外部世界隔离。
第 11 章保护 Docker 容器,解释了安全和隐私方面的挑战和问题,以及如何通过自由使用合格的标准、技术和工具来解决这些问题。本章介绍在映像中删除用户权限的机制。还简要介绍了 SELinux 中引入的安全功能如何在保护 Docker 容器时派上用场。
第 12 章Docker 平台–不同的能力和用例,描述了 Docker 平台如何成为一种企业级方法,在软件工程和分布式计算领域带来各种不同的自动化。本章包含了几个行业案例研究,以解决对 Docker 的任何担忧,并提高其渗透率和参与度。
您需要 Ubuntu 16.04 来运行本书中介绍的示例。
这本书非常适合希望了解 Docker 并使用它来构建和部署基于容器的应用的开发人员、运营经理和 IT 专业人员。没有 Docker 的先验知识。
在这本书里,你会发现许多区分不同种类信息的文本样式。以下是这些风格的一些例子和对它们的意义的解释。
文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪 URL、用户输入和 Twitter 句柄如下所示:“让我们从docker version
子命令开始我们的 Docker 之旅,如下所示:”
代码块设置如下:
FROM busybox
RUN ls -lh
CMD echo Hello world
当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:
FROM busybox
RUN ls -lh
CMD echo Hello world
任何命令行输入或输出都编写如下:
$ sudo apt-get install -y docker-engine
新名词和重要词语以粗体显示。您在屏幕上看到的单词,例如菜单或对话框中的单词,会出现在这样的文本中:“现在,单击“开始使用 Jenkins”按钮将带您进入“欢迎来到 Jenkins”!页面。”
Warnings or important notes appear in a box like this. Tips and tricks appear like this.
我们随时欢迎读者的反馈。让我们知道你对这本书的看法——你喜欢或不喜欢什么。读者反馈对我们来说很重要,因为它帮助我们开发出你将真正从中获得最大收益的标题。
要给我们发送一般反馈,只需发送电子邮件feedback@packtpub.com
,并在您的邮件主题中提及书名。
如果你对某个主题有专业知识,并且对写作或投稿感兴趣,请参见我们位于www.packtpub.com/authors的作者指南。
现在,您已经自豪地拥有了一本书,我们有许多东西可以帮助您从购买中获得最大收益。
你可以从你在http://www.packtpub.com的账户下载这本书的示例代码文件。如果您在其他地方购买了这本书,您可以访问http://www.packtpub.com/support并注册,以便将文件直接通过电子邮件发送给您。
您可以按照以下步骤下载代码文件:
- 使用您的电子邮件地址和密码登录或注册我们的网站。
- 将鼠标指针悬停在顶部的“支持”选项卡上。
- 点击代码下载和勘误表。
- 在搜索框中输入图书的名称。
- 选择要下载代码文件的书籍。
- 从您购买这本书的下拉菜单中选择。
- 点击代码下载。
下载文件后,请确保使用最新版本的解压缩文件夹:
- 视窗系统的 WinRAR / 7-Zip
- zipeg/izp/un ARX for MAC
- 适用于 Linux 的 7-Zip / PeaZip
这本书的代码包也托管在 GitHub 上,网址为https://GitHub . com/packt publishing/Learning-Docker-第二版。我们还有来自丰富的图书和视频目录的其他代码包,可在https://github.com/PacktPublishing/获得。看看他们!
我们还为您提供了一个 PDF 文件,其中包含本书中使用的截图/图表的彩色映像。彩色映像将帮助您更好地理解输出中的变化。您可以从https://www . packtpub . com/sites/default/files/downloads/learningdockercondent _ color images . pdf下载此文件。
尽管我们尽了最大努力来确保我们内容的准确性,但错误还是会发生。如果您在我们的某本书里发现了错误——可能是文本或代码中的错误——如果您能向我们报告,我们将不胜感激。通过这样做,你可以让其他读者免受挫折,并帮助我们改进这本书的后续版本。如果您发现任何勘误表,请访问http://www.packtpub.com/submit-errata,选择您的书籍,点击勘误表提交表格链接,并输入您的勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站或添加到该标题勘误表部分下的任何现有勘误表列表中。
要查看之前提交的勘误表,请前往https://www.packtpub.com/books/content/support并在搜索栏中输入图书名称。所需信息将出现在勘误表部分。
互联网上版权材料的盗版是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上遇到任何形式的我们作品的非法拷贝,请立即向我们提供位置地址或网站名称,以便我们寻求补救。
请通过copyright@packtpub.com
联系我们,获取疑似盗版资料的链接。
我们感谢您在保护我们的作者方面的帮助,以及我们为您带来有价值内容的能力。
如果您对本书的任何方面有问题,可以在questions@packtpub.com
联系我们,我们将尽最大努力解决问题。