mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-10-20 09:46:54 +00:00
全书此前是真·五五开:含中文的括号 336 处半角 : 336 处全角,而且**在同一文件 内混用**——`18_security/18.1_kernel_ns.md` 第 11/17/20 行写 `(如 runC)`, 第 31 行写 `(用户命名空间映射)`。这不是体例问题,是它自己跟自己不一致。 集群里其余 13 本都一边倒(llm_internals 5 : 1049、oc_guide 2 : 713、 forward_deployed_engineering_guide 0 : 108),blockchain_guide 已在 2026-08-05 按同一方向统一过 97 处,故取全角,而非另立新规。全角括号前后不留空格, 原先 `概念 (镜像、容器、仓库) 和` 两侧的空格一并收掉。 **纯拉丁内容的半角括号一个没动**——`新建一个层 (Layer)`、`项目 (project)` 保持原样:改动前后「半角且内容纯拉丁」的数量都是 **1163**,而「半角且含中文」 从 **336 变成 0**。 其余验证:改动前后各自抹掉全部空白与圆括号后**逐字节相同**(两侧均 19559 字符); 左右括号总数改动前后都是 399 : 399,证明没有吞括号也没有配错对。 `check_project_rules` 202/202、`check_emphasis` 202/202、37 tests OK、 根 `format_checker` 与 `validate_codeblocks` 干净、`git diff --check` 干净。
第二十章 实战案例 - 操作系统
章节概述
本章将介绍 Docker 在不同操作系统镜像场景下的实战案例。当你构建容器化应用时,选择合适的基础镜像至关重要。不同的操作系统镜像在大小、功能和性能方面各有特点,适用于不同的使用场景。本章通过具体的案例,详细讲解如何在 Docker 中使用主流操作系统镜像,包括轻量级镜像 (Busybox、Alpine) 和完整功能镜像(Debian、Ubuntu、CentOS 等)。
版本说明
本章示例中使用的操作系统镜像版本遵循以下原则:
- Alpine、Debian、Ubuntu、CentOS 等操作系统镜像采用大版本或次版本标签(如
alpine:3.21、ubuntu:26.04),避免使用latest标签确保构建的可再现性 - OS 大版本保留,以便获得最新的安全补丁和修复
- 在生产环境中,建议根据实际需求选择合适的版本,并定期更新以获得安全修复
为什么选择合适的操作系统镜像很重要
在容器化应用开发中,选择合适的基础操作系统镜像直接影响容器的大小、启动速度、安全性和运行性能。不同的镜像提供了不同的功能集和资源占用:
- 轻量级镜像 (Busybox、Alpine) - 镜像大小仅几 MB,启动快速,适合微服务、IoT 设备和对资源敏感的环境。Busybox 是最小的选择,集成了常见的 Unix 工具;Alpine 则提供了完整的包管理器,方便安装额外工具。
- 通用镜像 (Debian、Ubuntu) - 提供完整的 Linux 功能和丰富的软件生态,镜像大小通常在 80-300 MB 之间。适合需要灵活安装各种依赖和工具的应用场景。
- 企业级镜像 (CentOS、Fedora) - 基于 Red Hat 生态,广泛应用于企业环境和复杂系统应用。提供了 yum 包管理器和强大的系统管理工具。
选择镜像的关键原则是 “小而够用”——选择满足应用需求的最小镜像。这样可以减少安全漏洞表面积、加快镜像拉取和推送速度、降低存储成本,同时也使容器更便于分发和部署。
常用操作系统镜像对比
| 镜像 | 大小 | 包管理器 | 适用场景 | 优势 |
|---|---|---|---|---|
| Busybox | ~1 MB | 无 | 最小化工具集、initrd | 极致轻量,启动秒级 |
| Alpine | ~5 MB | apk | 微服务、静态应用 | 体积小,有包管理器 |
| Debian | ~100 MB | apt-get | 通用应用、开发环境 | 软件包丰富,稳定性强 |
| Ubuntu | ~80 MB | apt-get | 类似 Debian,现代化系统 | 更新频繁,用户多 |
| CentOS | ~200 MB | yum | 企业应用、兼容性需求 | 企业级支持,稳定性高 |
| Fedora | ~200 MB | dnf | 新特性需求、开发环境 | 最新技术栈,创新性强 |
学习目标
通过学习本章内容,你将能够:
- 理解不同操作系统镜像的特点、大小和适用场景
- 掌握在 Docker 中使用各类操作系统镜像的方法和最佳实践
- 学习如何根据实际需求选择合适的基础镜像,实现镜像优化
- 了解如何在不同操作系统容器中安装、配置和管理应用程序
- 掌握多阶段构建等高级技巧,最小化最终镜像大小
- 学会使用 Docker Compose 编排多个操作系统容器环境
章节内容导航
- Busybox — 超轻量级工具集镜像,适合嵌入式和最小化容器
- Alpine — 轻量级 Linux 镜像,广泛用于生产环境微服务
- Debian Ubuntu — 功能完整的通用 Linux 镜像,生态丰富
- CentOS Fedora — 企业级 Linux 镜像,适合复杂系统应用
- 本章小结