学习动机
为了在 macOS 上运行 Linux 完成 CSAPP 课程作业,使用轻量级虚拟机方式学习 Docker。
Docker 简介
Docker 使组织从传统的开发-运维交接转向集成部署工作流。该技术利用"隔离机制来最大化服务器利用率",对于管理数据库和缓存集群部署特别有价值。
历史背景
dotCloud 成立于 2010 年,最初提供平台即服务(PaaS),2013 年将其容器化技术开源。Docker 因其轻量级特性和 Go 语言实现而获得广泛采用。
相比虚拟机的优势
虚拟机需要完整的内核模拟,消耗大量资源,启动时间长。
Docker 容器共享宿主机内核,同时维护隔离的应用环境。主要优势:
- 最小资源消耗(MB级 vs GB级)
- 快速初始化
- 容器间文件系统隔离
DevOps 优势
- 更快的应用交付和部署
- 简化版本升级和扩展
- 降低系统管理复杂性
- 提高物理硬件资源利用率
Docker 核心组件
- 镜像(Image):创建容器实例的模板
- 容器(Container):托管应用的运行时环境
- 仓库(Repository):存储镜像的位置