容器与编排入门 - SRE 须知的 Docker 与 Kubernetes 基础
容器与编排入门 - SRE 须知的 Docker 与 Kubernetes 基础
在上一篇我们探讨了 Linux 操作系统基础。虽然理解底层 OS 很重要,但现代软件开发和部署的趋势是将应用程序及其依赖打包到容器中,然后在像 Kubernetes 这样的平台上进行大规模管理。这种方式极大地提高了部署效率、资源利用率和环境一致性。
什么是容器化?(以 Docker 为例)
想象一下,你在本地开发了一个应用,依赖特定版本的 Python、某个库和一些配置文件。如何确保它在测试环境、预发环境、生产环境都能以完全相同的方式运行,而不会因为环境差异(比如库版本不同、依赖缺失)而出问题?容器化就是解决这个问题的利器。
- 核心概念: 容器化是一种轻量级的虚拟化技术,它将应用程序代码及其所有依赖项(库、运行时、系统工具、配置文件等)打包到一个标准化的单元中,称为容器镜像 (Container Image)。这个镜像可以在任何支持容器技术的机器上运行,每次运行时都会创建一个隔离的容器实例 (Container Instance)。
- 与虚拟机的区别 (Contrast with VMs):
- 虚拟机 (VM):在物理硬件上运行一个 Hypervisor(虚拟机监控器),然后在 Hypervisor 上创建包含完整操作系统的虚拟机实例。每个 VM 都有自己的内核、系统文件等&#x