Docker Engine
Docker Engine 是 Docker 的核心组件,负责构建、运行和管理容器。
什么是 Docker Engine?
Docker Engine 是一个客户端-服务器应用程序,包含以下主要组件:
- Docker Daemon (dockerd) - 后台服务,管理容器、镜像、网络和存储
- Docker CLI - 命令行接口,与 Daemon 通信
- containerd - 容器运行时管理
- runc - 底层容器运行时
架构概览
┌─────────────────┐
│ Docker CLI │
└────────┬────────┘
│
│ API
│
┌────────▼────────┐
│ Docker Daemon │
│ (dockerd) │
└────────┬────────┘
│
┌────┴────┐
│ │
┌───▼───┐ ┌──▼────┐
│containerd│ │ Storage │
└───┬───┘ └────────┘
│
┌───▼───┐
│ runc │
└───────┘核心组件
Docker Daemon
Docker Daemon 是长期运行的后台进程,负责:
- 管理容器生命周期
- 管理镜像和层
- 管理网络和存储
- 处理 API 请求
containerd
containerd 是一个高级容器运行时,提供:
- 镜像管理
- 容器生命周期管理
- 快照和存储管理
runc
runc 是 OCI (Open Container Initiative) 标准的参考实现,负责:
- 创建和运行容器
- 管理命名空间 (Namespaces)
- 管理控制组 (Cgroups)