比较 AI 代理的沙盒方法 | Docker

TL;DR · AI 摘要
Docker 比较了 AI 代理沙盒技术的多种实现方式,强调隔离性和安全性。
核心要点
- Docker Sandboxes 提供轻量级隔离环境,适合运行 AI 代理。
- NanoClaw 集成增强 Docker 沙盒的安全性,防止恶意代码执行。
- 开发者可通过 Docker Hardened Images 获得企业级安全镜像。
结构提纲
按章节快速跳转。
- §引言
介绍沙盒技术在 AI 代理开发中的重要性。
描述 Docker 提供的沙盒解决方案及其特点。
解释 NanoClaw 如何提升沙盒安全性。
说明 Docker Hardened Images 的作用和优势。
- §结论
总结沙盒技术对 AI 代理开发的影响。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Sandboxing Approaches
- Docker Sandboxes
- Isolated Environments
- NanoClaw Integration
- Enhanced Security
- Hardened Images
- Enterprise-Ready
金句 / Highlights
值得收藏与分享的关键句。
Docker Sandboxes 提供隔离环境以运行 AI 代理。
NanoClaw 与 Docker Sandboxes 集成以确保 AI 安全运行。
Docker Hardened Images 提供安全的企业级镜像。
比较 AI 代理的沙箱方法 | Docker
下载超过 800 名构建者和领导者对 AI 代理状态的见解副本
✕
[](http://www.docker.com/)
- AI
AI
- Docker for AI 简化代理开发
- Docker MCP 目录和工具包 连接和管理 MCP 工具
- Docker Model Runner 本地优先的 LLM 推理变得简单
- Docker 沙箱 新型隔离环境,适用于编码代理
更多开发者资源

产品
- Docker 强化镜像 新型 发布安全、企业级镜像
- Docker Desktop 容器化您的应用程序
- Docker Hub 发现和共享容器镜像
- Docker Scout 简化软件供应链
- Docker Build Cloud 加快镜像构建速度
- Testcontainers Desktop 使用真实依赖项进行本地测试
- Testcontainers Cloud 在云端无限制地测试
- Docker MCP 目录和工具包 新型 连接和管理 MCP 工具
- Docker Offload 摆脱本地约束

- 开发者
开发者
- 文档 查找 Docker 产品的指南
- 入门 学习 Docker 基础知识
- 资源 搜索有用的资料库
- 培训 提升您的 Docker 知识
- 扩展 SDK 创建并分享您自己的扩展
- 社区 与其他 Docker 开发者联系
- 开源 探索开源项目
- 预览计划 帮助塑造 Docker 的未来
- 客户故事 通过客户故事获得灵感
更多开发者资源

- 定价- [x] 年付 月付 ## Docker 个人版 ### $0 ### $0 面向需要构建和部署容器的基本工具的个人开发者。 立即开始 立即开始 #### 包含: #### Docker Desktop #### Docker Engine + Kubernetes #### Docker Hub #### Docker Scout #### Docker Debug #### 使用范围: #### 1 用户 #### 1 个启用 Docker Scout 的仓库* #### 每小时 100 次 Docker Hub 拉取* #### 1 个私有 Docker Hub 仓库 #### Docker Build Cloud 和 Testcontainers Cloud 免费试用 ## Docker Pro ### $11 ### $9 每用户/月 面向需要更高级功能和额外资源的专业个人用户。 立即购买 立即购买 #### 包含: #### Docker Build Cloud #### Testcontainers Cloud #### 同步文件共享 #### 查看 Docker Scout 健康评分 #### 5 个工作日支持响应时间 #### 使用范围: #### 1 用户 #### 2 个启用 Docker Scout 的仓库 #### 无限制 Docker Hub 拉取速率 #### 200 分钟 Docker Build Cloud 构建时间 #### 100 分钟 Testcontainers Cloud 运行时间 最受欢迎 ## Docker 团队版 ### $16 ### $15 每用户/月 面向需要协作工具以提高团队效率的小型团队。 立即购买 立即购买 #### 包含: #### 批量添加用户 #### 审计日志 #### Docker Hub 基于角色的访问控制 #### 2 个工作日支持响应时间 #### 使用范围: #### 最多 100 用户 #### 无限数量的启用 Docker Scout 的仓库 #### 无限制 Docker Hub 拉取速率 #### 无限制私有 Docker Hub 仓库 #### 500 分钟 Docker Build Cloud 构建时间 #### 500 分钟 Testcontainers Cloud 运行时间 #### 10 个组织访问令牌 #### 1 个 Docker Hub 组织 ## Docker 企业版 ### $24 ### $24 每用户/月 面向希望获得强大安全、控制和合规功能的企业。 立即购买 立即购买 联系销售 联系销售 #### 包含: #### 加固版 Docker Desktop #### 单点登录 (SSO) #### SCIM 用户配置 #### 镜像和注册表访问管理 #### 桌面洞察仪表盘 #### 增强容器隔离 (ECI) #### 发票支付 #### 1 个工作日支持响应时间 #### 使用范围: #### 无用户上限 #### 无限数量的启用 Docker Scout 的仓库 #### 无限制 Docker Hub 拉取速率 #### 无限制私有 Docker Hub 仓库 #### 1,500 分钟 Docker Build Cloud 构建时间 #### 1,500 分钟 Testcontainers Cloud 运行时间 #### 100 个组织访问令牌 #### 无限数量的 Docker Hub 组织***
## Docker 加固镜像 (DHI)
为每个团队提供的安全、最小化的容器镜像,如果需要,企业功能免费提供。开始免费试用
公司
- 关于我们 让我们自我介绍
- 什么是容器?了解容器化
- 为什么选择 Docker?发现我们的独特之处
- 信任 找到我们的客户信任资源
- 合作伙伴 成为 Docker 合作伙伴
- 客户成功 学习如何通过 Docker 取得成功
- 活动 参加现场和虚拟聚会
- Docker 商店 购买独家周边商品
- 职业 加入我们的团队
- 联系我们 我们期待您的来信

搜索
切换菜单
Docker Captain
比较不同的沙盒方法
发表于 2026 年 5 月 7 日

“_AI 代理将成为未来我们与计算机交互的主要方式。它们能够理解我们的需求和偏好,并主动帮助我们完成任务和决策。_“
萨提亚·纳德拉
微软首席执行官
无论你是软件工程师、产品经理还是设计师,这句话都应该从根本上改变我们对待日常工作的态度。我们不再只是构建界面;我们正在创建一个环境,在这个环境中,代理可以以最少的人工干预自主运行。那么,这种环境的基本要求是什么?
用一个词概括:隔离。
与传统软件交互的用户受限于软件允许的操作。但代理是非确定性的,因此容易出现幻觉和提示注入。一旦你给 AI 提供对系统的写访问权限,就没有什么能阻止它执行 rm -rf 来删除所有数据。当然,解决这个问题有不同的方法,其中一种是沙盒化:这是一种用于实验和测试的隔离、受控环境,不会影响周围系统。
因此,我开始探索不同的策略来为代理设置沙盒。从最基础的配置开始,一直到设置云虚拟机(VM)。以下是我每一步学到的内容。
1. 让我们从基准开始
Chroot 一直是实现文件系统隔离的传统方法。当你希望某个进程认为某个特定的、受限的目录是机器的绝对根目录时,它工作得很好。

然而,这里有两个主要问题。
- 如果
chroot内的进程拥有 root 权限,它可以突破限制。 - 虽然它提供了文件隔离,但进程隔离仍然是一个问题。恶意代理仍然可以看到系统上运行的其他进程,并尝试终止它们。

如上所示,执行 ls /proc 仍会显示主机上运行的所有进程。
这时我了解到了 systemd-nspawn,也被称为“增强版 chroot”。chroot 和 systemd-spawn 的区别在于后者除了文件系统外,还提供了网络和进程级别的隔离。

现在,当我执行相同的 ls /proc 命令时,在 systemd-nspawn mybox 容器 中,我只能看到 mybox 容器中的进程,从而实现了进程级隔离。

**优点**
- 相较于其他容器化过程(如 Docker),它更轻量,启动时间更快。
- Linux 原生支持。
**注意事项**
- 除非深入 Linux 领域,否则
systemd-nspawn在开发者社区中并不流行。 - 虽然这适用于 Linux,但如果需要在 Windows 上运行你的代理呢?你需要根据平台寻找替代方案。
2. 容器够用吗?
当我们想到隔离环境时,另一个技术就是 Docker。与我们之前讨论的概念不同,Docker 拥有更广泛的生态系统和强大的社区支持。
通过容器,你还可以获得隔离的文件系统、网络接口和进程树。它们还具有跨平台支持,可以在 Mac、Windows 和 Linux 上运行。凭借这些优势,跨不同平台创建和运行代理变得非常简单,这使得容器成为显而易见的选择。
然而,当容器成为代理的开发平台时,模型变得更加复杂。通常,代理需要在单独的环境中执行生成的代码,这意味着在实践中需要按需启动新的 Docker 容器。这引入了容器嵌套模式(Docker-in-Docker),即运行在容器内的代理需要构建并运行其他容器。
为了使 Docker-in-Docker 正常工作,我们必须以特权模式运行容器(--privileged),这赋予容器进程提升的权限权利,极大地削弱了隔离性。此时,隔离保证显著降低。因此,仅使用容器为代理提供完全隔离变得棘手。
3. 虚拟机有帮助吗?
正如你可能已经预测到的那样,虚拟机(VMs)提供了最强的隔离。通过虚拟机,你可以拥有整个操作系统、文件系统和网络。例如,我目前在 MacOS 上使用 lima – Linux VM 来运行特定于 Linux 的工作负载。

然而,权衡是启动虚拟机的成本较高。如果每个代理都需要这样做,这是不可扩展的。以下是一些数据,展示了使用 system-nspawn 启动虚拟机的成本。
| 方法 | 每个代理成本 | 启动时间 | 10 个代理 | | --- | --- | --- | --- | | 方法 VM (Lima) | 每个代理成本 ~4GB RAM + 4 CPU | 启动时间 30-60 秒 | 10 个代理 ~40GB RAM | | 方法 systemd-nspawn | 每个代理成本 ~10MB RAM | 启动时间 < 1 秒 | 10 个代理 ~100MB RAM | | 方法 chroot | 每个代理成本 1MB RAM | 启动时间 瞬间 | 10 个代理 ~10MB RAM |
例如,在下面的截图中,你可以看到运行 lima 虚拟机的成本。

4. MicroVM 来解救
MicroVM(微型虚拟机)似乎是对隔离需求的完美解决方案。那么什么是 MicroVM,它为什么更好?
MicroVM 是一种轻量级虚拟化技术,它提供了传统虚拟机的强大安全性和隔离性,同时具备容器的速度。
- 通过为每个 MicroVM 提供独立的内核(即 Guest Kernel),实现了强大的安全性和隔离性,这与容器共享主机内核的方式不同。因此,Guest OS 内的任何漏洞都不会直接影响主机或其他 VM。
- 速度:与传统虚拟机不同,MicroVM 配置了最小化的硬件(没有 USB 或 PCI 总线),并绕过了 BIOS/UEFI 引导,显著减少了设备仿真开销和启动延迟。

亚马逊在 2018 年开源了 Firecracker,这是 MicroVM 架构最早的采用之一。尽管这推动了 MicroVM 架构的发展,但 Firecracker 仅限于 Linux 环境。而大多数开发者的笔记本电脑运行的是 MacOS 和 Windows,代理编排通常也发生在这里。
Docker 通过其 Sandbox 解决方案填补了这一空白。最棒的部分是其基于 MicroVM 的架构,可以在 macOS、Windows 和 Linux 上原生运行,提供更好的隔离性、更快的启动时间和更流畅的开发者体验。我们稍后会详细了解这一点。
5. gVisor
gVisor 采用了一种独特的解决隔离问题的方法。虽然之前的策略使用了操作系统内核,但 gVisor 创建了自己的运行在用户空间的内核,称为“应用内核”。
当一个标准的容器化应用程序想要执行诸如打开文件、分配内存或发送网络流量等操作时,它会直接向主机的 Linux 内核发出“系统调用”(syscall)。
在 gVisor 中,你的应用程序会与一个名为 Sentry 的组件捆绑在一起。
- Sentry 拦截应用程序发出的每一个 syscall。
- 它使用自己实现的 Linux 网络、文件系统和内存管理功能在用户空间中处理这些请求。
- 如果 Sentry 必须让主机内核执行某些操作(例如实际的磁盘 I/O),它会将请求转换为极其受限、高度过滤的安全调用。
然而,它与 systemd-nspawn 存在同样的问题:缺乏广泛的社区支持,并且仅支持 Linux。
Docker Sandbox
通过 Docker Sandbox,AI 编码代理可以在隔离的 MicroVM 环境中运行。性能几乎无缝,与在主机上运行相同,但具有更强的隔离性和安全性。这意味着你可以运行自主代理,而不必担心主机被攻破或意外访问本地环境。
Sandbox 通过三层隔离实现了这种级别的安全性:

虚拟机监控程序隔离:每个 Sandbox 都有自己的 Linux 内核。因此,任何影响 sandbox 内核的操作都不会影响主机或其他 sandbox 内核。
网络隔离
- 每个 Sandbox 都有自己的隔离网络。这意味着多个 sandbox 之间无法相互通信,也无法与主机通信。
- 此外,可以强制执行网络策略以允许或禁止来自特定源的流量。
Docker Engine 隔离
- 这是我爱上这种新架构的原因。每个 Sandbox 都有自己的 Docker Engine。因此,每当代理运行
docker pull或docker compose命令时,这些命令都会针对内部引擎执行,而不是外部的 Docker 守护进程。
- 因此,运行在内部的代理只能看到其 sandbox 内的 Docker 服务,而看不到其他内容,从而增加了额外的安全层。
| 属性 | 传统虚拟机 | 容器 | Docker MicroVM | | --- | --- | --- | --- | | 属性 隔离性 | 传统虚拟机 强(专用内核) | 容器 弱(共享内核) | Docker MicroVM 强(专用内核) | | 属性 启动时间 | 传统虚拟机 分钟 | 容器 毫秒 | Docker MicroVM 秒(首次拉取镜像后) | | 属性 攻击面 | 传统虚拟机 大 | 容器 中等 | Docker MicroVM 最小 |
为了演示 Docker Engine 的隔离性,我创建了两个 Sandbox 会话,在其中一个会话中运行了 Docker 的 hello-world 容器镜像,然后在两个会话中分别运行了 docker ps -a。

从下图可以看出,一个会话中有 hello-world 容器,另一个则没有。这是因为它们正在运行两个不同的 Docker Engine 守护进程。

更多关于 Sandbox 架构的信息,请参见:https://www.docker.com/blog/why-microvms-the-architecture-behind-docker-sandboxes/
结论
如果有一个关键点需要记住,那就是:在构建自主 AI 代理时,隔离性起着至关重要的作用,因为安全错误的影响范围可能非常大。
我们迄今为止探讨的每种方法都解决了隔离难题的不同部分。容器提高了可移植性和开发者体验,但继承了共享内核的风险。虚拟机提供了强大的隔离性,但在启动数十个代理时,其开销难以扩展。gVisor 处于一个有趣的中间地带,但兼容性和社区权衡可能会拖慢你的步伐。
在所有这些方法中,使 带有 MicroVM 的 Docker Sandbox 引人注目的是它如何统一了这些维度:VM 级别的安全性、类似容器的启动速度以及开发者已经熟悉的流程。每个 Sandbox 的独立 Docker Engine 和严格的网络边界使其成为大规模运行不可信、自主工作负载的强大基础。
那么,你还在等什么?今天就去试试吧。
对于 macOS:brew install docker/tap/sbx
对于 Windows:winget install Docker.sbx
Agentic AIAI AgentDocker SandboxDocker Sandboxes社区
目录
[](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.docker.com%2Fblog%2Fcomparing-sandboxing-approaches-ai-agents%2F "访问此 Linkedin 个人资料")[](https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.docker.com%2Fblog%2Fcomparing-sandboxing-approaches-ai-agents%2F "访问此 X 个人资料")[](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.docker.com%2Fblog%2Fcomparing-sandboxing-approaches-ai-agents%2F "访问此 Facebook 个人资料")
相关文章
- 2026年3月31日 #### Docker Sandboxes:让代理安全地运行在YOLO模式下 代理已经跨越了一个门槛。现在超过四分之一的生产代码是由AI生成的,而使用代理的开发人员合并的 pull request 数量大约增加了60%。但这些收益只有在你允许代理自主运行时才会出现。而要实现这一点,你需要退居幕后。这意味着让代理运行…  - 2026年5月5日 #### 使用 Docker Model Runner 和 Open WebUI 本地生成图像 学习如何使用 Docker Model Runner 和 Open WebUI 在本地生成图像,采用私有的、与 OpenAI 兼容的工作流在您自己的机器上操作。
- 扫描器集成 2026年5月5日 #### Docker 和 Black Duck 提供的精准容器安全 现代容器化应用的复杂性常常使开发人员淹没在“噪音”之中——文件系统中存在的漏洞但实际上对应用程序没有任何实际风险。Black Duck 和 Docker 加固镜像(DHI)之间的集成为此挑战提供了明确的解决方案。通过结合 Docker 默认安全的基础,并使用 VEX(漏洞可利用性交换)…  - 2026年5月1日 #### Docker 中的虚拟代理团队:Coding Agent Sandboxes 团队如何使用一系列代理加速交付 学习 Docker 如何在 CI 中使用一系列 AI 代理自动测试、分类和修复代码,帮助团队通过安全的沙盒更快地交付产品。
产品
- 产品概览
- Docker Desktop
- Docker Hub
- Docker Scout
- Docker Build Cloud
- Testcontainers Desktop
- Testcontainers Cloud
- Docker MCP Catalog and Toolkit
- Docker Hardened Images
功能
开发者
定价
公司
语言
- [](http://twitter.com/docker)
- [](https://www.linkedin.com/company/docker)
- [](https://www.instagram.com/dockerinc/)
- [](http://www.youtube.com/user/dockerrun)
- [](https://www.facebook.com/docker.run)
- [](http://www.docker.com/blog/feed)
© 2026 Docker Inc. 保留所有权利
Cookie 设置
通过点击“接受所有 Cookie”,您同意在您的设备上存储 Cookie,以增强网站导航、分析网站使用情况并协助我们的营销工作。
Cookie 设置 拒绝全部 接受所有 Cookie

隐私偏好中心
当您访问任何网站时,它可能会在您的浏览器中存储或检索信息,通常以 Cookie 的形式。这些信息可能是关于您、您的偏好或您的设备的,并主要用于使网站按您期望的方式运行。这些信息通常不会直接识别您,但可以为您提供更个性化的网络体验。由于我们尊重您的隐私权,您可以选择不允许某些类型的 Cookie。单击不同的类别标题以了解更多信息并更改我们的默认设置。但是,阻止某些类型的 Cookie 可能会影响您对网站的体验以及我们能够提供的服务。
允许全部
管理同意偏好
#### 功能性 Cookie
- [x] 功能性 Cookie
这些 Cookie 使网站能够提供增强的功能和个性化服务。它们可能由我们或添加到我们页面中的第三方提供商设置。如果您不允许这些 Cookie,则其中一项或所有这些服务可能无法正常运行。
#### 必需 Cookie
始终启用
这些 Cookie 对于网站的运行是必需的,无法在我们的系统中关闭。它们通常仅在您执行相当于请求服务的操作(例如设置隐私偏好、登录或填写表单)时设置。您可以将浏览器设置为阻止或提醒您注意这些 Cookie,但如果这样做,网站的部分功能将无法使用。这些 Cookie 不会存储任何可识别个人身份的信息。
#### 性能 Cookie
- [x] 性能 Cookie
这些 Cookie 允许我们统计访问次数和流量来源,以便我们可以衡量和改进网站的性能。它们帮助我们了解哪些页面最受欢迎和最不受欢迎,并查看访问者如何浏览网站。这些 Cookie 收集的所有信息都是汇总的,因此是匿名的。如果您不允许这些 Cookie,我们将不知道您何时访问了我们的网站,也无法监控其性能。
#### 定向 Cookie
- [x] 定向 Cookie
这些 Cookie 可能通过我们的网站由我们的广告合作伙伴设置。它们可能被这些公司用来建立您的兴趣档案,并在其他网站上向您展示相关广告。它们不存储直接的个人信息,而是基于唯一标识您的浏览器和互联网设备。如果您不允许这些 Cookie,您将看到较少的目标广告。
Cookie 列表
清除
- [x] 复选框标签 标签
应用 取消
同意 合法利益
- [x] 复选框标签 标签
- [x] 复选框标签 标签
- [x] 复选框标签 标签
拒绝全部 确认我的选择