Docker Sandboxes 技术是什么,和docker容器有什么区别
Docker Sandboxes 是什么?
Docker Sandboxes 是 Docker 于 2025 年底推出的一种面向 AI 编码 Agent 的本地隔离沙盒方案,核心思路是把 Claude Code、Gemini CLI、Codex 等编码 Agent 包裹在一个独立的隔离环境中运行,让 Agent 拥有足够的操作空间,同时对宿主机不产生任何影响。
Docker首席运营官Mark Cavage在接受采访时表示:"Docker Sandbox是一种新的原语,具有Docker的人体工程学特性和我所描述的Docker理念。但它从根本上是一种不同的原语。它实际上是一个微虚拟机,具有真正的隔离性,拥有自己专用的内核和硬件空间。"
Cavage说Docker的本质是可移植性、隔离性和简洁性。但他表示,容器假设某种程度的不可变性。Docker Sandbox更像是一个真正的进程监狱,强制执行隔离。
与普通 Docker 容器的核心区别
关键差异在于隔离层级。
普通 Docker 容器的隔离基于 Linux 的 namespace 和 cgroup,本质上是进程级隔离——所有容器共享宿主机的同一个内核。这对服务部署足够了,但如果容器内跑的是 AI Agent,共享内核意味着 Agent 一旦触发某些内核漏洞,就可能影响到整个宿主机。
Docker Sandboxes 是微虚拟机 microVM ,拥有自己专用的内核和硬件空间,实现真正的隔离。每个 Sandbox 拥有自己独立的 Docker Daemon、文件系统和网络栈。Agent 可以安装软件包、修改配置、甚至在 Sandbox 内部再启动 Docker 容器,但宿主机完全不受影响。这使得Sandbox比普通容器更安全,Sandbox能够防止智能体接触宿主机器,即使出现幻觉或行为异常也不会造成系统性风险。
microVM 提供的轻量性、低开销(对比完整虚拟机)与完整隔离的组合,使 Docker Sandboxes 比普通容器或完整虚拟机更适合 AI Agent 工作负载——普通容器隔离不够,完整 VM 开销又太大。
主要特性对比
| 普通 Docker 容器 | Docker Sandboxes | |
|---|---|---|
| 隔离层级 | OS-level(namespace) | Hypervisor-level(microVM) |
| 内核 | 共享宿主机内核 | 独立内核 |
| Docker Daemon | 共用 | 每个 Sandbox 独立一个 |
| 宿主机风险 | 存在逃逸风险 | 硬隔离,宿主机不受影响 |
| 适用场景 | 服务部署、CI/CD | AI 编码 Agent 无人值守执行 |
| 启动速度 | 毫秒级 | 比完整 VM 快,比普通容器稍慢 |
| 支持的 Agent | — | Claude Code、Gemini CLI、Codex、Kiro 等 |
典型使用场景
在 Docker Sandbox 内,Agent 可以完整镜像你的工作区——项目文件、目录结构和凭证完全按宿主机的状态挂载进来,同时执行过程完全隔离,Agent 安装的包、修改的配置、运行的构建操作都不会触碰宿主机系统。
只需运行 docker sandbox run <agent>,就会创建一个新的隔离环境,并将当前工作目录以挂载方式绑定进去。这让你可以放心开启 Agent 的"YOLO 模式"(无需人工审批确认),大幅提升开发效率。
简而言之:普通容器是为服务部署设计的,Docker Sandboxes 是为 AI Agent 的安全自主运行设计的,核心卖点是把"Agent 跑起来有多快"和"宿主机有多安全"这两个目标同时实现。
Docker Sandbox 在 windows、mac、linux上的实现方式
为什么不直接用 Firecracker?
这是理解 Docker Sandboxes 实现方式的关键背景。
Firecracker 是最知名的 microVM 运行时,但它是为云端基础设施(Linux/KVM 环境,如 AWS Lambda)设计的,没有对 macOS 或 Windows 的原生支持。而编码 Agent 不跑在云端,它们跑在开发者的笔记本上,横跨三个平台。如果强行给 Linux-first 的 VMM 打补丁来支持多平台,只会得到脆弱的兼容层,反而让开发者嫌麻烦、跳过沙盒。 因此 Docker 选择自己造轮子,构建了一个专有 VMM,核心目标就是跨平台原生支持。
三平台实现细节
macOS:Hypervisor.framework
Docker 自研的 VMM 在 macOS 上直接调用 Apple 的 Hypervisor.framework,这是 macOS 内置的原生虚拟化框架,M 系列芯片和 Intel Mac 均支持,无需任何额外安装。 InfoWorld
Windows:Windows Hypervisor Platform(WHP)
Windows 上需要启用 Windows Hypervisor Platform 功能Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All,用管理员权限在 PowerShell 中执行一条命令即可开启,底层依托 Hyper-V 内核层提供硬件级隔离。 Docker
Linux:KVM
Linux 上使用 KVM(内核虚拟机),要求 CPU 支持硬件虚拟化(Intel VT-x 或 AMD-V)。如果在虚拟机内运行,还需要开启嵌套虚拟化。检测kvm:lsmod | grep kvm
总结
简而言之:普通容器是为服务部署设计的,Docker Sandboxes 是为 AI Agent 的安全自主运行设计的,Sandboxes以更高的资源开销(一个虚拟机及其独立的守护进程)换取了完全的隔离性.
浙公网安备 33010602011771号