- Docker不适合AI编码代理,因为代理运行短命令,需要快速启动(<50毫秒 vs Docker的3秒),并且需要与SSH密钥隔离,而不是端口映射。
- Podman是一个无守护进程、无根的容器运行时,使用OCI标准,支持quadlets、pods和Kubernetes YAML,但启动时间100-500毫秒,并且在macOS/Windows上需要虚拟机。
- Bubblewrap (bwrap) 是一个最小的(约8000行C代码)沙箱,启动时间低于50毫秒,使用用户命名空间,无守护进程或根权限,但仅限Linux,缺乏镜像管理或内置资源限制。
- Firejail是一个SUID沙箱,拥有约1000个预构建的桌面应用配置文件,对代理零配置,支持X11/Wayland隔离和Landlock,但攻击面较大且专注于桌面。
- 决策矩阵显示了权衡:Podman用于生产(强隔离、GPU支持、可移植性),bwrap用于每命令沙箱(速度、极简),Firejail用于桌面代理隔离(预构建配置文件)。
- 底线:生产代理基础设施使用Podman,本地代理开发(如Claude Code、Codex CLI)使用bwrap,基于浏览器或桌面的AI工具使用Firejail。