原文发表于 2026 年 2 月 23 日,由 Docker 工程师 Oleg Selajev 撰写

随着 AI 代理工具(例如 OpenClaw)越来越强大,让它们运行时不至于损害主机系统安全也变得越来越重要。

在这篇文章中,我们介绍如何使用 Docker SandboxesDocker Model Runner 在隔离环境中运行 OpenClaw,让你的 AI 编码代理保持高度的安全性、隐私和可控性,并避免泄露任何密钥或产生云端费用。

什么是 Docker Sandboxes?

Docker Sandboxes 是 Docker 生态中新推出的一种原语,它可以为 AI 代理或其它工作负载创建隔离的 微型虚拟机(microVM)。这种隔离环境提供:

  • 与宿主机完全隔离的执行空间
  • 可配置网络代理规则(比如禁止访问任意互联网主机)
  • 将 API 密钥安全注入代理的网络层,而不是暴露给代理本身
  • 可配置只允许访问特定资源(如项目工作区)

快速开始:在沙盒中运行 OpenClaw(本地模型)

要在隔离环境中运行 OpenClaw,你需要:

  1. 安装并启动 Docker Desktop
  2. 启用 Docker Model Runner(通过 Docker Desktop 设置界面)
  3. 从 Docker 模型仓库拉取一个本地模型,例如:


docker model pull ai/gpt-oss:20B-UD-Q4_K_XL
  1. 创建并运行 OpenClaw 沙盒:


docker sandbox create --name openclaw -t olegselajev241/openclaw-dmr:latest shell . docker sandbox network proxy openclaw --allow-host localhost docker sandbox run openclaw


  1. 在沙盒内部启动 OpenClaw:
~/start-openclaw.sh

完成后,你就可以在一个隔离的终端界面中与 OpenClaw 交互 —— 所有对模型的调用都由主机上的 Docker Model Runner 提供,而 OpenClaw 则被严格限制只能访问指定工作区文件和经过许可的网络目标。

支持云模型(自动注入 API 密钥)

如果你已经在主机环境中设置了 OPENAI_API_KEY 或 ANTHROPIC_API_KEY 等密钥,Docker Sandboxes 的网络代理会自动注入这些凭证:

  • 这意味着你可以在沙盒中无缝运行云模型
  • 但代理本身仍然无法访问或泄露这些密钥

对于需要调用云端模型的场景,无需打开对主机 localhost 的访问,只需在 OpenClaw 设置中指定对应模型即可。

如何选择和使用模型

OpenClaw 的启动脚本会列出你已下载的所有模型:

~/start-openclaw.sh list

你也可以指定某个模型来运行,例如:

~/start-openclaw.sh ai/qwen2.5:7B-Q4_K_M

这样,你可以使用任何通过 docker model pull 拉取的模型。

背后是怎么工作的(技术细节)

沙盒镜像 olegselajev241/openclaw-dmr:latest 是基于 Docker Sandboxes 的 shell 模板构建的,并增强了以下能力:

  • 安装了 Node.js 22 和 OpenClaw
  • 增加了一个小型网络桥接程序,用于让沙盒内的 OpenClaw 能够访问主机上的 Docker Model Runner
  • 利用沙盒自带的 HTTP 代理去控制网络访问规则

由于 Node.js 默认不遵循 HTTP_PROXY 环境变量,因此这个桥接程序负责把 OpenClaw 发出的请求转发到主机的 Model Runner 服务上。

自定义镜像:自己动手构建

如果你想定制镜像或学习内部构建原理,可以按如下步骤操作:

  1. 创建基础沙盒并安装 OpenClaw
  2. 编写一个 Model Runner 桥接脚本(大约 20 行 Node.js 代码)
  3. 修改 OpenClaw 配置文件,让它使用 Docker Model Runner
  4. 保存沙盒为可复用镜像,再推送到镜像仓库

之后其他人即可使用你构建的镜像以一致的方式启动 OpenClaw 沙盒。

总结

使用 Docker Sandboxes 结合 Docker Model Runner:

  • 可以在 完全隔离的环境中运行 OpenClaw
  • 避免直接暴露系统资源
  • 安全地注入 API 密钥,不会泄露给 AI 代理
  • 支持切换本地模型与云模型
  • 便于重复部署、分享与协作使用

无论是开发阶段实验还是生产环境部署,这种方式都能使 OpenClaw 更加安全、可控且易于管理。