Docker Sandboxes 技术是什么,和docker容器有什么区别

Docker Sandboxes 是什么?

docker_sandbox_vs_container_comparison

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上的实现方式

docker_sandboxes_platform_implementation_v5

为什么不直接用 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以更高的资源开销(一个虚拟机及其独立的守护进程)换取了完全的隔离性.

官网

https://docs.docker.com/ai/sandboxes/get-started/

posted @ 2026-06-07 00:55  悠哉大斌  阅读(17)  评论(0)    收藏  举报