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:入门与实践,第三版

第 13 章 容器平台设计 容器平台设计

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

在生产中实施任何技术时, ,设计一个能够承受不可避免地发生的意外问题的弹性平台,往往能获得最大的收益。Docker 可以是一个功能强大的工具,但需要注意细节,使整个平台围绕它运行。作为一项发展迅速的技术,它必然会在组成容器平台的各个组件之间产生令人沮丧的错误。

如果您不是简单地将 Docker 部署到现有环境中,而是花时间利用 Docker 作为核心组件之一构建一个精心设计的容器平台,那么您就可以享受到基于容器的工作流程带来的诸多好处,同时保护自己免受此类高速项目中可能存在的一些尖锐边缘的影响。

与所有其他技术一样,Docker 并不能神奇地解决所有问题。要想发挥其真正的潜力,企业必须有意识地决定为什么要使用它以及如何使用它。对于小型项目来说,可以以简单的方式使用 Docker;但是,如果你计划支持一个可以随需求扩展的大型项目,那么你就必须非常慎重地设计你的应用程序和平台,这一点至关重要。这将确保您在该技术上的投资回报最大化。花时间有意识地设计平台,也会使随着时间的推移修改生产工作流程变得更加容易。精心设计的容器平台和部署流程将尽可能轻量级和简单明了,同时仍然支持满足所有技术和合规性要求所需的功能。经过深思熟虑的设计将有助于确保您的软件运行在一个动态的基础上,可以随着技术和公司流程的发展而轻松升级。

在本章中,我们将探讨两份公开文档《十二要素应用程序》《反应式宣言》《反应式原则》的配套文档,并讨论它们与 Docker 和构建健壮的容器平台的关系。这两份文件都包含很多观点,可以帮助指导您设计和实施容器平台,并确保全面提高弹性和可支持性。

十二要素应用程序

2011 年 11 月,早在 Docker 发布 之前,Heroku 的联合创始人亚当-维金斯(Adam Wiggins)和他的同事们就发布了一篇名为"十二要素应用程序"(The Twelve-Factor App)的文章这篇文章描述了从Heroku工程师的经验中提炼出的 12 项实践,用于设计能够在基于容器的现代 SaaS环境中茁壮成长的应用程序。

尽管不是必需的,但按照这 12 个步骤构建的应用程序是 Docker 工作流程的理想候选者。在本章中,我们将逐一探讨以下步骤,并解释为什么这些做法能以多种方式帮助改善开发周期:

  • 代码库

  • 依赖关系

  • 配置

  • 备份服务

  • 构建、发布、运行

  • 流程

  • 端口绑定

  • 并发性

  • 一次性

  • 开发/生产均等

  • 日志

  • 行政程序

代码库

在修订控制中跟踪一个代码库。

在任何给定时间,您的应用程序 的许多实例都将运行,但它们都应来自同一个代码库。给定应用程序的每一个 Docker 镜像都应从一个源代码库中构建,其中包含构建 Linux 容器所需的所有代码。这样可以确保代码可以轻松重建,而且所有第三方需求都在源代码库中定义明确,并会在构建过程中自动调入。

这意味着,构建应用程序时不需要将多个源代码库中的代码拼接在一起。这并不是说您不能依赖于另一个软件仓库中的工件。但这确实意味着,应该有一种明确的机制,用于确定在构建应用程序时,哪些代码片段已经运出。如果构建应用程序时需要调用多个源代码库并将代码片段拼接在一起,那么 Docker 简化依赖关系管理的功能就不那么有用了。此外,如果您必须知道一种神奇的咒语才能让构建正常工作,那么它的可重复性也会大打折扣。

一个很好的测试方法是,给公司的新开发人员一台干净的笔记本电脑和一段说明,然后看他们能否在一小时内成功创建应用程序。如果他们做不到,那么这个过程可能就需要改进和简化。 ...

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