直接在宿主机跑 AI Agent 总觉得不安全,研究了一套 Docker 容器化部署方案。
为什么要容器化
- 安全隔离:AI 只能访问容器内的文件,无法操作宿主机
- 环境一致:不会出现’我这能跑你那跑不了’的问题
- 方便迁移:一个镜像打包所有依赖
- 快速回滚:出问题直接重建容器
部署架构
宿主机
├── Docker 容器(AI Agent)
│ ├── Node.js 运行时
│ ├── AI 工具主程序
│ └── 工作目录(挂载)
├── Docker 容器(本地模型)
│ └── Ollama
└── 反向代理(Nginx)
关键配置
- 文件挂载:只挂载工作目录,不挂载系统目录
- 网络隔离:容器间通过 Docker 网络通信
- 资源限制:设置 CPU 和内存上限
- 日志收集:挂载日志目录方便排查
踩坑
- 容器内浏览器自动化不好使(没有显示器)
- 权限映射要注意 UID 一致性
- 更新版本后配置可能被重置
容器化方案虽然有些限制,但安全性大大提升。推荐给注重安全的用户。