
Docker Sandboxes 解析随着智能 AI 的兴起开发者需要安全且轻量级的解决方案来运行他们的代理。代理要能像人类开发者使用容器那样完成构建容器、安装软件以及修改可访问文件等操作同时保护主机系统免受代理破坏。Docker 为运行容器提供了多种不同级别的隔离方式各有优缺点有些速度快但安全性低有些速度慢但能更好抵御攻击或数据外泄。今年 4 月Docker 为容器引入了一种全新的隔离方式——专门为运行 AI 代理设计的 Docker Sandboxes。Docker Sandboxes 使用“微虚拟机microVM”来隔离容器。微虚拟机是运行在主机操作系统原生管理程序上的虚拟机用于实现隔离。“微”体现其设计特点专门用于运行需快速启动、快速关闭且不占用过多系统资源的工作负载。微虚拟机是 Docker 定制的跨平台项目旨在直接运行在三大主流平台LinuxKVM、macOSHypervisor.framework和 Microsoft WindowsWindows Hypervisor Platform的管理程序架构上在所有平台上行为一致并对每个管理程序提供原生支持。通常Docker 守护进程直接运行在主机上容器运行时开销极小但与虚拟机的完全隔离相比隔离性较差。而使用微虚拟机时每个容器都有自己独立的 Docker 守护进程实例和内核且微虚拟机中不会保留持久状态可根据需要随时终止和重启。Docker Sandboxes 与智能 AI灵活性、轻量级和完全隔离的特性使 Docker Sandboxes 成为比普通容器或完整虚拟机更适合 AI 代理运行的环境。普通容器无法提供足够隔离来防止 AI 代理引发问题完整虚拟机开销过大不适合临时的智能工作负载。沙盒化容器为其内部运行的程序提供对目录、网络端点和机密信息的本地访问权限这些是在运行时注入的并非容器定义的一部分。代理可以运行 Docker 的所有命令构建、运行、编排但与其他容器和主机系统完全隔离。即便有这些改进仍然可能出现问题。例如沙盒化代理可能会不受限制地拉取和构建容器从而消耗带宽和系统资源。不过与系统被破坏或生产数据被删除相比这类问题更容易控制和清理。Docker Sandboxes 在 AI 之外的应用尽管 Docker Sandboxes 可能是为 AI 编码代理设计的但其功能远不止于智能 AI 工作负载。Docker Sandboxes 为容器提供了更高层次的隔离和灵活性。以恶意软件分析为例在微虚拟机中运行恶意软件可进行更多不同的分析场景在相同时间内比传统虚拟机能完成更多任务因为微虚拟机的启动和停止速度更快。Rivet 的 Nathan Flurry 还提到了其他应用场景。其中一个用例是允许第三方运行不可信代码如一个允许用户上传并运行自己代码的编码平台可配置为使用微虚拟机来隔离运行代码并在达到资源配额时自动干净地终止运行。另一个用例是软件构建管道通过将每个构建过程隔离在微虚拟机容器中团队可以避免构建之间的冲突实现更可预测的性能。目前Docker Sandbox 系统主要面向智能 AI 客户但用户可以启动一个 shell 并在沙盒化容器中运行自己的代码。用户还可以使用模板或套件构建自定义沙盒不过套件目前仍处于实验阶段。Docker Sandboxes 及其配套工具为微虚拟机的各种实验打开了大门。AI 代理可能是 Docker Sandboxes 的主要应用场景但这只是冰山一角。关键词开发工具软件开发生成式 AI人工智能