上下文工程:构建LLM可靠性的四维结构化框架
2026/6/7 5:58:50
我来详细介绍 Docker 的整体架构:
┌─────────────────────────────────────────────────────────┐ │ Docker Client │ │ (docker CLI / Docker Desktop) │ └────────────────────┬────────────────────────────────────┘ │ REST API ↓ ┌─────────────────────────────────────────────────────────┐ │ Docker Daemon (dockerd) │ │ ┌──────────────────────────────────────────────────┐ │ │ │ API Server │ │ │ └──────────────────────────────────────────────────┘ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ Images Containers Networks Volumes │ │ │ └──────────────────────────────────────────────────┘ │ └────────────────────┬────────────────────────────────────┘ │ ↓ ┌─────────────────────────────────────────────────────────┐ │ containerd │ │ (容器运行时 - 高级运行时) │ └────────────────────┬────────────────────────────────────┘ │ ↓ ┌─────────────────────────────────────────────────────────┐ │ runc │ │ (容器运行时 - 低级运行时) │ │ (OCI Runtime Specification) │ └────────────────────┬────────────────────────────────────┘ │ ↓ ┌─────────────────────────────────────────────────────────┐ │ Linux Kernel (Host OS) │ │ Namespaces | Cgroups | Union FS | Network │ └─────────────────────────────────────────────────────────┘dockerCLI 命令行工具# 客户端命令示例docker run nginx docker build -t myapp.docker-compose upNamespaces (命名空间)- 提供隔离
Cgroups (控制组)- 资源限制
Union FS (联合文件系统)
用户执行: docker run -d nginx 1. Docker Client ↓ 发送 REST API 请求 2. Docker Daemon ↓ 检查本地是否有 nginx 镜像 ↓ 如果没有,从 Registry 拉取 ↓ 调用 containerd 3. containerd ↓ 准备容器运行环境 ↓ 准备镜像层 ↓ 调用 runc 4. runc ↓ 创建 namespaces ↓ 设置 cgroups ↓ 启动容器进程 5. Container 运行中 ↓ 进程在隔离环境中执行┌─────────────────────────────────┐ │ Docker Image │ │ ┌───────────────────────────┐ │ │ │ Layer 4: App files │ │ ← 可写层 (容器层) │ ├───────────────────────────┤ │ │ │ Layer 3: Dependencies │ │ │ ├───────────────────────────┤ │ ← 只读层 (镜像层) │ │ Layer 2: Runtime │ │ │ ├───────────────────────────┤ │ │ │ Layer 1: Base OS │ │ │ └───────────────────────────┘ │ └─────────────────────────────────┘┌──────────────────────────────────────┐ │ Docker Network Types │ ├──────────────────────────────────────┤ │ • bridge (默认) │ │ • host (共享主机网络) │ │ • none (无网络) │ │ • overlay (跨主机通信) │ │ • macvlan (分配 MAC 地址) │ └──────────────────────────────────────┘容器数据持久化方式: 1. Volumes (推荐) ├─ Docker 管理 └─ 存储位置: /var/lib/docker/volumes/ 2. Bind Mounts ├─ 挂载主机目录 └─ 完全控制路径 3. tmpfs Mounts └─ 内存存储,临时数据这种架构设计使 Docker 既强大又灵活,能够高效地管理和运行容器化应用。
我来解释一下 Docker 中这三个核心概念的关系:
Images (镜像)
Container (容器)
Volumes (卷)
Images (镜像) --实例化--> Container (容器) --挂载--> Volumes (卷) ↓ ↓ ↓ 只读模板 运行实例 持久化存储 可复用 临时的 永久的# 1. 拉取镜像docker pull nginx:latest# 2. 创建卷docker volume create my-data# 3. 从镜像创建容器并挂载卷docker run -d\--name my-nginx\-v my-data:/usr/share/nginx/html\nginx:latest在这个例子中:
nginx:latest是Imagemy-nginx是运行的Containermy-data是Volume,用于持久化网站数据这种设计让 Docker 既灵活又高效:镜像保证环境一致性,容器提供隔离运行环境,卷确保数据不丢失。