Skip to Content
Docker:入门与实践,第三版
book

Docker:入门与实践,第三版

by Sean P. Kane, Karl Matthias
May 2025
Intermediate to advanced
418 pages
5h 47m
Chinese
O'Reilly Media, Inc.
Content preview from Docker:入门与实践,第三版

第 11 章 高级主题 高级主题

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

在本章中,我们将快速浏览一些更高级的主题。我们假定你现在已经对 Docker 有了相当的了解,并且已经将其应用于生产中,或者至少是一名普通用户。我们将详细讨论容器的工作原理,以及 Docker 安全、Docker Network+ 、Docker 插件、可交换运行时和其他高级配置的一些方面。

本章部分内容涉及您可以对 Docker 安装进行的可配置更改。这些更改可能很有用,但 Docker 有很好的默认设置,因此和大多数软件一样,您应该坚持使用操作系统上的默认设置,除非您有充分的理由更改它们,并且已经了解了这些更改对您的意义。要使您的安装适合您的环境,可能需要不断地尝试、调整和调整。但是,不建议在充分了解之前更改默认设置。

集装箱详情

虽然我们通常将 Linux 容器 作为一个单独的实体来谈论,但实际上它们是通过 Linux 内核中内置的多个独立机制来实现的,这些机制共同发挥作用:控制组(cgroups)、命名空间(namespaces)、安全计算模式(seccomp )和 SELinux 或 AppArmor,所有这些机制的作用都是控制进程。cgroups 提供了资源限制,命名空间允许进程使用相同名称的资源,并将它们与系统的其他视图隔离开来,安全计算模式限制了进程可以使用的系统调用,而 SELinux 或AppArmor则为进程提供了额外的强大安全隔离。那么,从 cgroups 和命名空间开始,它们能为你做些什么呢?

在我们开始详细介绍之前,打个比方也许能帮助你理解这些子系统中的每一个是如何影响容器的工作方式的。想象一下,典型的计算机就像一个大型开放式仓库,里面堆满了工人(进程)。仓库里有足够的空间和资源,但工人之间很容易互相干扰,而且大多数资源都是谁先拿到就由谁使用。

当你运行 Docker 并使用 Linux 容器来处理工作负载时,就好像那个仓库被改造成了一栋办公楼,每个工人现在都有了自己独立的办公室。每间办公室都有工人们完成工作所需的一切正常物品,总的来说,他们现在可以安心工作,而不必过多担心其他人(进程)在做什么。

命名空间构成了办公室的围墙,确保进程不能以任何未经特别允许的方式与相邻进程交互。控制组有点像支付租金以获得公用事业服务。当进程首次启动时,除了允许其在任何时刻使用的内存量外,还会为其分配每个周期的 CPU 和存储子系统时间。这有助于确保工作者(进程)获得所需的资源,而不允许他们使用为他人保留的资源或空间。想象一下最糟糕的那种嘈杂邻居,你就能突然真正体会到办公室之间良好、牢固的屏障。最后,安全计算模式、SELinux 和 AppArmor 有点像办公室安全,可确保即使发生意外或不测事件,除了填写文件和提交事故报告之外,不太可能造成更多的麻烦。

cgroups

传统的分布式系统设计 要求在各自的虚拟服务器上运行每项密集型任务。因此,举例来说,你不会在数据库服务器上运行你的应用程序,因为它们有相互竞争的资源需求,而且它们的资源使用量可能会无限制地增长,并开始支配服务器,使数据库的性能下降。

在真正的硬件系统上,这样做的成本可能相当高,因此虚拟服务器等解决方案非常吸引人,部分原因是你可以在相互竞争的应用程序之间共享昂贵的硬件,而虚拟化层将处理你的资源分区。不过,虽然可以省钱,但如果不需要虚拟化提供的所有其他分离功能,这仍然是一种相当昂贵的方法,因为运行多个内核会给应用程序带来合理的开销。维护虚拟机也不是最便宜的解决方案。尽管如此,云计算已经证明了它的巨大威力,只要有合适的工具,它就能发挥难以置信的功效。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

人工智能技术与大数据

人工智能技术与大数据

Posts & Telecom Press, Anand Deshpande, Manish Kumar
超越Vibe编程

超越Vibe编程

Addy Osmani
写给系统管理员的Python脚本编程指南

写给系统管理员的Python脚本编程指南

Posts & Telecom Press, Ganesh Sanjiv Naik

Publisher Resources

ISBN: 9798341656826